본문 바로가기
개발 공부/CS

Internet protocol suite (TCP/IP updated)

by 느림보어른 2021. 7. 21.

Layer 1: Physical Layer

물리 계층(Physical layer)은 네트워크의 기본 네트워크 하드웨어 전송 기술을 이룬다. 좀 더 쉽게 말하자면 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열(정보의 표현)을 주고 받을 수 있게 해주는 하드웨어(PHY칩)로 구현된 모듈이다.

  • encoding(송신할 때): 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려보낸다.
  • decoding(수신할 때): 아날로그 신호가 들어오면 0과 1의 나열(디지털 신호)로 해석한다.

Layer 2: Data Link Layer

데이터 링크 계층(Data link layer)은 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층이다. 좀 더 쉽게 말하자면 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해 필효한 모듈이다. 이 모듈은 하드웨어(랜카드)로 구현되어 있다.

 

네트워크 위의 개체들 간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단을 제공한다. 주소 값은 물리적으로 할당 받는데, 이는 네트워크 카드가 만들어질 때부터 맥 주소(MAC address)가 정해져 있다는 뜻이다.

Layer 3: Network Layer

네트워크 계층(Network layer)은 여러개의 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크들을 통해 전달한다. 네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행한다. 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층이다. 논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)이다. 네트워크 계층은 OS의 커널에 소프트웨어로 구현되어 있다.

 

네트워크 계층이 하는 작업을 요약하자면 다른 컴퓨터에 데이터를 전송하기 위해  IP주소를 이용해서 길을 찾고(Routong) 자신 다음의 라우터에게 데이터를 넘겨주는 작업(forwarding)을 한다.

 

위의 Data Link Layer에서는 같은 네트워크에 연결된 다른 컴퓨터로의 데이터 전송을 가능하게 했다면 Network Layer는 다른 네트워크에 연결된 컴퓨터에로의 데이터 전송이 가능하게 해졌음을 알 수 있다.

Layer 4: Transport Layer

전송 계층(Transport layer)은 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다.

 

위의 내용을 좀 더 풀이하자면 실행되는 프로세스들 가운데 하나의 프로세스가 필요한 정보를 다른 컴퓨터에서 요구하면 해당 컴퓨터에서는 데이터를 전송해줄 것인데 만약 상대방 컴퓨터가 수신할 컴퓨터의 어떤 프로세스가 데이터를 요구하는 지 모르면 모든 프로세스에 데이터를 요구했는지 물어봐야되는 상황이 생긴다. 이 과정은 너무나 비효율적인다. 따라서 데이터를 요구하는 프로세스는 포트 번호를 이용해 송신된 데이터가 포트 번호에 해당하는 프로세스에 바로 전달될 수 있도록 해주는 것이 전송 계층이다.

 

이 계층도 OS의 커널에 소프트웨어로 구현되어 있다.

포트 번호

하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야하는 정수 값이다.

Layer 5: Application Layer

위의 계층은 OSI에서는 구분하나 TCP/IP에서는 구분하고 있지 않다.

 

응용 계층(Application layer)은 컴퓨터 네트워크 프로그래밍에서 인터넷 프로토콜(IP) 컴퓨터 네트워크를 통하는 프로세스 간 통신 접속을 위해 설계되어 통신 프로토콜과 방식을 위해 보유된 추상 계층이다. 응용 계층 프로토콜은 기반이 되는 전송 계층 프로토콜을 사용하여 호스트 간 연결을 확립한다.

출처

https://en.wikipedia.org/wiki/OSI_model

 

OSI model - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Model of communication of seven abstraction layers The Open Systems Interconnection model (OSI model) is a conceptual model that characterises and standardises the communication functi

en.wikipedia.org

 

'개발 공부 > CS' 카테고리의 다른 글

인터넷  (0) 2021.08.18
Heroku VS AWS EC2 뭐가 다른 걸까?  (0) 2021.07.19
Nginx  (0) 2021.07.03
Web socket  (0) 2021.06.29
Docker  (0) 2021.06.23