컴퓨터 네트워킹(with 패킷)& 프로토콜 계층 (TCP/IP 5계층)

이름이름·2022년 10월 15일
0

컴퓨터 네트워크

목록 보기
1/11
post-thumbnail

패킷이 뭘까?

데스크톱,스마트폰,태블릿,서버 등 이런 모든 장치들을 종단 시스템이라고 불러요. 이 종단시스템이라는 말은 호스트라고도 부릅니다. (종단시스템 = 호스트입니다. 또 참고로 호스트는 클라이언트와 서버로 나뉘어요 )

우리가 카톡을 할 때 보면 항상 데이터를 주고받고 있잖아요? 이렇게 한 호스트에서 다른 호스트로 데이터를 보낼 때 그 데이터를 세그먼트 라는 것으로 쪼개고 그 각 세그먼트헤더를 붙여서 보내요. 이 헤더에 대해서는 뒤에서 자세하게 다루겠습니다. 아무튼 이렇게 세그먼트+헤더로 구성되어 있는 친구를 패킷(packet)이라고 부른답니다.

이러한 패킷들은 패킷 스위치(교환기)들을 통해 받아지고 보내져 목적지로 전송됩니다.
패킷 스위치는 라우터와 링크 계층 스위치라는 친구들이 가장 널리 사용이됩니다.

  • 라우터 : 주로 네트워크 코어에서 사용됨
  • 링크 계층 스위치 : 주로 접속 네트워크에서 사용됨

링크와 스위치의 네트워크를 통해 데이터를 이동시키는 방식에는 패킷교환과 회선교환이라는 두 가지 기본 방식이 있다

전달방식

대부분의 패킷 스위치는 저장 후 전달 전송방식(store and forwad transmission)을 이용합니다.
예를 들어 한 호스트가 3개의 패킷을 보내면 중간에 라우터를 거쳐갈 텐데 이 때 라우터는 3개의 패킷을 모두 받고 저장해야 목적지 호스트로 전송시킬 수 있다는 말입니다.

큐잉 지연과 패킷 손실

각 링크에 대해서 패킷 스위치는 출력 버퍼(=출력 큐)를 가지고 있어요. 여기에 보내려는 패킷들을 저장한답니다.
이 때 어떤 링크에 A패킷들을 보내고 있고 뒤따라서 B패킷들도 보내려고 한다고 생각해봅시다. 지금 A패킷들을 보내고 있으니까 B패킷들을 보낼 수가 없죠?
그래서 B패킷들은 패킷 스위치의 출력 버퍼 또는 출력 큐에서 대기하고 있어야해요. 이를 큐잉지연이라고 합니다.

또 뒤따라서 C패킷들이 왔는데 버퍼 공간이 부족해서 B패킷들로만 꽉 차있다면? C패킷들은 손실이 일어날 수가 있어요. 이를 패킷 손실(packet loss)라고 한답니다.

포워딩 테이블과 라우팅 프로토콜

포워딩 테이블

의문점

여기서는 패킷 스위치를 라우터라고 지칭 하겠습니다.
방금 봤듯이 라우터는 패킷을 받아서 통신 링크를 통해 패킷을 전달하려고 했어요. 이 때 라우터는 해당 패킷을 그 많은 링크들 중에 어느 링크로 보내야하는지 어떻게 알까요?

해결

모든 호스트들은 IP주소라는 주소를 가져요. 패킷을 보낼 때 패킷의 헤더에 목적지의 IP주소를 포함해서 보낸답니다. 각 라우터마다 포워딩 테이블이 있어서 패킷의 목적지IP를 보고 어디로 가야하는지 알려준다고 생각하면 됩니다.

이런 포워딩 테이블은 뒤에서 자세히 다루겠지만 여러 라우팅 프로토콜을 통해 만들 수 있습니다.

패킷 교환과 회선 교환

링크와 패킷 스위치를 통해 데이터를 이동시키는 방식에는 패킷 교환과 회선 교환이 존재하는데 지금까지는 패킷 교환에 대해서 작성했습니다. 회선 교환에 대해서도 작성해보겠습니다.

패킷교환(packet swithcing)

데이터를 여러조각(packet)으로 쪼개 전송하는 방법
아래와 같이 총 전송시간은 4개의 delay의 합으로 결정된다
데이터를 packet으로 쪼개서 보내기 때문에 Max user는 없지만 사용자가 많아지면 data loss가 생길 수 있다
그리고 circuit swithcing보다 빠르다

  • 전송지연은 라우터가 패킷을 내보내는데 걸리는 시간이고
    (미끄럼틀을 탈 때 몸을 넣는시간이라고 생각하면 쉬움)
    dtrans = L/R (패킷의 길이를 R(링크 대역폭)으로 나눈 값)

  • 전파지연은 한 라우터에서 다음라우터로 전파되는데 걸리는 시간이다
    (미끄럼틀을 타고 가는 시간)
    dprop = d/s (링크의 길이를 propagation speed로 나눈 값)

(첫번째 비트와 마지막 비트 헷갈리지말것)

회선교환(circuit switching)

packet network와는 다르게 circuit network는 데이터가 호스트에서 목적지로 가는 경로가 단 하나임 (유일한 경로를 통해 데이터를 전송)

때문에 circuit만 설정하면 데이터는 그저 보내기만 하면 되는데
그러기 위해선 예약을 해야하고 사용되는 회선 전체를 독점(dedicated)함

링크당 대역폭이 있기 때문에 사용자의 수가 제한이되고
데이터를 쪼개보내는 packet switching보다 느리다

프로토콜 계층 (TCP/IP 5계층)

현재 우리가 쓰는 통신들은 통신 Model을 따르고 있습니다. 통신 Model이라는 것은 통신되는 절차를 설명하고 구분짓기 위해 만든 것이라고 보시면 됩니다.

  • Osi 7계층 (표준모델 , 참조모델)
  • TCP/IP 5계층 (비표준모델 but 실사용)


출처:http://redepravoce.blogspot.com/view=snapshot&_escaped_fragment_

우선 가운데가 최초의 TCP/IP입니다. 4계층이죠. 원래 이렇게 사용하다가 표준을 만들자 하고 더 세분화시켜서 만든 것이 OSI 7계층이 되겠습니다.
근데 이미 존재하는 네트워크 장비들을 싸그리 바꾸고 장비업체에서도 설계를 갈아엎어야 하는 상황에서 OSI 7계층을 마냥 따를 수 만은 없었습니다.
그래서 표준모델인 OSI 7계층모델을 참고해서 Link계층을 더 세분화하여 만든 것이 맨 오른쪽의 TCP/IP 5계층입니다.
실사용에 쓰고있는 TCP/IP 5계층에 대해 더 알아봅시다.

위의 계층들은 통신을 하려면 이 계층에서는 뭘 해야하고 그 아래 계층에서는 뭘 해야하고.. 이런 것들을 구분 지어놨다고 보시면 됩니다.

자세한 계층은 뒤에서 세세하게 작성할거고 이번에는 큰 틀에서 이해하는 식으로 작성해보려고 합니다.

서울에 있는 제가 충북에 있는 친구A에게 편지를 보내는 상황을 예시로 들어 함께 설명해보겠습니다.

5계층 Application계층

내가 편지지에 내용을 쓰거나 뭔가를 전달할 것을 만드는 곳 or
친구가 편지지의 내용을 확인하는 곳
즉, 나와 친구가 만나는 지점이라고 보면 됩니다.
ex) 카카오톡 프로그램

4계층 Transport계층

편지를 우편으로 보낼거냐 등기로 보낼거냐를 결정하는 곳
현실에서는 편지를 다 쓰고 우체국가서 결정하는 건데 우리 통신상에서는 특이하게 편지 봉투에 보내는 사람,받는 사람을 쓰기 전에 결정한다고 생각하면 됩니다.
표현을 우편과 등기로 했지만 통신 상에서는 TCP로 보낼거냐 UDP로 보낼거냐를 결정합니다!

3계층 Network계층

편지 봉투에 보내는 사람이랑 받는 사람을 쓰는 곳
통신 상에서는 주소를 IP로 쓰기 때문에 IP 프로토콜과 관련이 있는 곳

2계층 Link계층

서울 우체국 -> 경기우체국, 경기우체국->충북우체국 그 사이사이를 의미함
내 컴퓨터 - 공유기, 공유기 - A라우터, A라우터 - B라우터 이 구간들을 표현해주고 있는 개념이라고 생각하시면 됩니다.

1계층 Physical계층

물리적으로 연결되어서 데이터가 전송되고 있는 그런 개념
데이터를 전기적, 기계적, 물리적인 신호로 변환하고 전송하는 역할을 담당한다고 보시면됩니다.
주로 전송 매체(데이터 케이블, 광섬유 케이블, 무선 등)를 통해 비트(bit) 단위로 데이터를 전송합니다

profile
공부 정리

0개의 댓글