Network

TCP/IP와 프로토콜 계층

Debin 2021. 9. 19.
반응형

데이터 통신 전공 수업 두 번째 시간의 내용을 간단하게 정리한 게시글입니다.

 

2023. 02.01 16:30 복습 시작

IP란

IP란 Internet Protocol이다. IP는 단순히 통신에서 교환되는 메시지 형식이 아닌 형식과 통신 절차를 모두 의미한다.

형식은 당연히 데이터 포맷에 관한 이야기고 절차는 과정, 액션, 기능에 관한 이야기다.

IP에 대해 몇 가지 정리해보겠다.

  • 호스트 간의 정보를 교환하기 위한 프로토콜이다.
  • 헤더와 Payload(Body, SDU라고도 부른다)로 구성된다.
  • 헤더에는 프로토콜에서 IP가 동작하는 중요한 정보가 들어가 있다. 중요한 정보의 예로는 보낸 사람 IP와 받는 사람 IP가 있겠다.
  • Packetizing를 이용해 데이터를 잘게 나눠 페이로드에 넣어서 보낸다. (fragment, fragmentation)
  • 잘게 나눠진 패킷들은 유니크한 sequence number를 가지는데 이것들은 쪼개진 데이터가 합쳐질 때 순서를 위한 숫자이다.
  • 사실 IP 헤더에서 Fagment Offset와 Identification을 이용해 다시 데이터가 합쳐진다.
  • 패킷 스위치 네트워크는 데이터를 그냥 마구잡이로 보낸다. 먼저 보낸 게 먼저 가지 않는다.
  • 우체국과 비슷하다. 먼저 간 편지들은 편지가 모이는 센터에서 섞여버려서 분류될 때까지 기다린다. 이런 방식과 비슷하다.

 

IP 구조

 

프로토콜 계층

다양한 프로토콜 계층을 모두 합하여 프로토콜 스택이라고 한다.

계층화는 곧 모듈화로 볼 수 있는데 장점은 보안이 좋고 재사용에서 강점을 보이며 유지 보수가 뛰어나다.

또 유연하며 독립적이라는 장점이 있다.

5개 계층의 인터넷 프로토콜 스택에 대해 알아보고 7개 계층의 OSI 참조모델에 대해서 알아보겠다.

Application
Transport
Network
Link
Physical

아래 물리 계층부터 L1 , L2,... , L5 계층이라고 부르기도 한다. 애플리케이션 계층부터 알아보겠다.

애플리케이션 계층

애플리케이션 계층은 네트워크 애플리케이션과 애플리케이션 계층 프로토콜이 있는 곳이다.

이 계층은 HTTP, SMTP, FTP 같은 많은 프로토콜을 포함한다.

애플리케이션 계층 프로토콜은 여러 종단 시스템에 분산되어 있어서, 한 종단 시스템에 있는 애플리케이션이 다른 종단 시스템에 있는 애플리케이션과 정보 패킷을 교환하는 데 이 프로토콜을 사용한다.'

 

애플리케이션 계층의 애플리케이션 구조는 크게 client-server 구조와 P2P 구조로 나눌 수 있다.

클라이언트 - 서버구조의 클라이언트 서버에 대해 알아보겠다.

 

  • 클라이언트: 서버와 커뮤니케이션을 하는 호스트이며, 클라이언트 호스트는 가끔 혹은 항상 켜져 있을 수 있다. 동적인 IP 주소를 가지고 있고 다른 클라이언트와 직접적으로 연결되지 않는다.
  • 서버: 고정된 IP 주소를 가지고 있고, 항상 켜져 있는 호스트가 서버이다. 하나의 서버로 수많은 요청이 들어오면 서버에 과부하가 생겨 서버가 제대로 작동하지 못할 수 있다. 이러한 이유로 많은 수의 호스트를 갖춘 데이터 센터가 강력한 가상의 서버를 생성하는데 흔히 사용된다.

트랜스포트 계층

트랜스포트 계층은 클라이언트와 서버 간에 애플리케이션 계층 메시지를 전송하는 서비스를 제공한다.

인터넷에는 두 가지, 즉 TCP와 UDP라는 트랜스포트 프로토콜이 있으며, 이들은 애플리케이션 계층 메시지를 전달한다.

네트워크 계층

인터넷의 네트워크 계층은 한 호스트에서 다른 호스트로 데이터그램을 라우팅 하는 책임을 진다.

IP 프로토콜이 이 계층에 포함된다.

또한 네트워크 계층은 출발지와 목적지 사이에서 데이터그램이 이동하는 경로를 결정하는 라우팅 프로토콜을 포함한다.

링크 계층

디바이스와 디바이스를 연결하는 계층이다.

네트워크 계층은 라우터를 이용해 데이터그램을 라우트 한다.

이때 다른 라우터로 패킷을 이동하기 위해, 네트워크 계층은 링크 계층에 의존한다. 링크 계층은 라우터에서 라우터로 패킷을 전달한다.

링크 계층 패킷을 프레임이라고 한다.

물리 계층

물리 계층의 기능은 프레임 내부의 각 비트를 한 노드에서 다음 노드로 이동하는 것이다.

이 계층의 프로토콜들은 링크에 의존하고 더 나아가 링크의 실제 전송매체에 의존한다.

Application
Presentation
Session
Transport
Network
Link
Physical

 

이것이 7개 계층의 OSI 참조 모델이다. 2가지 계층만 추가되어서 이 계층들만 살펴보겠다.

프레젠테이션 계층

프레젠테이션 계층 역할은 통신하는 애플리케이션들이 교환되는 데이터의 의미를 해석하도록 하는 서비스를 제공하는 것이다. 이들 서비스는 데이터 기술뿐만 아니라 데이터 압축과 데이터 암호화를 포함한다.

세션 계층

세션 계층은 데이터 교환의 경계와 동기화를 제공하는데, 이에는 체킹 포인트와 회복 방법을 세우는 수단을 포함한다.

 

캡슐화

캡슐화에 관한 이미지다. 캡슐화 이미지에 관한 몇 가지 설명을 하겠다.

 

애플리케이션 메세지에서 계층을 차례로 내려간다.

그러면 메시지에서 메시지 -> 세그먼트 -> 데이터그램 -> 프레임으로 점차 헤더들이 많이 붙는다.

각 트랜스포트 계층 헤더, 네트워크 계층 헤더, 링크 계층 헤더가 붙는다.

이 과정을 인캡슐레이션(캡슐화)라고 한다.

반대로 목적지에서 물리 계층에서 터 애플리케이션 계층으로 향한다.

이때 각 계층은 헤더를 통 읽고 애플리케이션 계층으로 메시지를 보낸다. 이 과정을 디캡슐레이션이라고 한다.

 

스위치와 라우터는 계층이 다르다.

앞서 스위치와 라우터는 비슷하다고 언급했는데 하는 일은 조금 다르다.

스위치는 링크 계층의 정보를 가지고 데이터를 forwarding 한다.

라우터는 네트워크 계층 정보를 가지고 데이터를 forwarding 한다. 

소켓

  • 프로세스는 소켓을 통해 네트워크로 메시지를 주고 받는다.
  • 비유를 하자면 프로세스는 집이고 소켓은 출입구로 비유된다.
  • 소켓에는 상대 IP가 들어간다. 즉 LAN 어댑터 IP 주소가 들어간다.

TCP, UDP 프로토콜

  • TCP: TCP 서비스 모델은 연결지향형 서비스와 신뢰적인 데이터 전송 서비스를 포함한다.
  • UDP: UDP는 최소의 서비스 모델을 가진 간단한 전송 프로토콜이다. UDP는 비연결형이므로 두 프로세스가 통신을 하기 전에 핸드셰이킹을 하지 않는다. UDP는 비신뢰적인 데이터 전송 서비스를 제공한다.

 

이상으로 포스팅을 마칩니다.

 

2023. 02.01 17:15 정리

 

참고자료

컴퓨터 네트워킹 하향식 접근 제 7판

반응형

댓글