OSI 7 계층
네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.
- 통신이 일어나는 과정을 단계별로 파악할 수 있다.
- 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건드리지 않고도 이상이 생긴 단계만 고칠 수 있다.
- 현대 인터넷은 TCP/IP Model을 따른다.
- 개선된 TCP/IP 모델은 5계층을 가진다.
전체적인 통신 과정
- 송신 : 각 Layer를 거치며 데이터에 헤더 정보를 추가한다.
- 수신 : 각 Layer별로 헤더 정보를 해석하여 원하는 데이터, 정보를 파악한다.
1계층 - Physical Layer(물리 계층)
컴퓨터는 0과 1만을 인식할 수 있다.(전기적 ON/OFF 신호)
따라서, 데이터를 전기 신호로 바꾸어 전송하는 계층이다
- 단순하게 데이터 전달의 역할만을 한다.
- 데이터가 무엇인지, 어떤 에러가 있는지 신경 쓰지 않는다.
- 송신자(Encoding) : 0과 1의 나열을 아날로그 신호로 바꾸어 전선을 통해 전달한다.
- 수신자(Decoding) : 아날로그 신호가 들어오면 0과 1의 나열로 해석한다.
- 전송 단위(PDU, Protocol Data Unit) : Bit
- 사용 장비 : 통신 케이블, 리피터, 허브 등
- 프로토콜 : Modem, Cable, Fiber, RS-232C
- 하드웨어적으로 구현된다.
2계층 - DataLink Layer(데이터링크 계층)
동일한 네트워크에서 Framing을 통해 오류를 감지하고 수정하며 데이터를 전송하는 계층이다.
- Framing
- 상위 계층에서 구성한 ‘Datagram’에 헤더와 트레일러를 추가한다.
- Header : 목적지 MAC 주소, 출발지 MAC 주소, 상위 계층 프로토콜의 종류
- Trailer : FCS(Frame Check Sequence), 에러 검출을 위한 필드
- Point To Point 간 신뢰성 있는 전송을 보장한다.
- 신뢰성 있다 = 오류를 감지하고 해결한다.
- MAC(맥) 주소를 사용한다.
💡 MAC 주소(물리 주소) : Media Access Control Address
랜에 사용되는 네트워크 모델인 이더넷의 물리적인 주소로, 컴퓨터 네트워크에서 각각의 기기를 구분하기 위해 사용하는 주소다.
- 송신자(Encoding) : framing을 진행한다.
- 수신자(Decoding) : 헤더와 트레일러를 해석하고 datagram을 뽑아낸다.
- 전송단위(PDU) : Frame
- 사용 장비 : 브릿지, L2 스위치 등
- 프로토콜 : Ethernet, MAC, PPP, ATM, LAN, Wifi
- 하드웨어적으로 구현된다.
3계층 - Network Layer(네트워크 계층)
IP 주소를 이용해 경로를 찾고(Routing), 자신 다음 라우터에게 데이터를 넘겨주며(Forwarding) 목적지로 데이터를 전송하는 계층이다.
- Routing : 목적지를 향한 경로를 결정하는 것
- Forwarding : 다음 라우터(또는 목적지)에 packet을 전달하는 것
- 송신자 : 상위 계층에서 내려온 데이터에 IP Header를 추가한다.
- 수신자 : IP Header를 해석하고 상위 계층에 데이터를 전달한다.
- 전송 단위(PDU) : Packet(또는 Datagram)
- 사용 장비 : 라우터, L3 스위치
- 프로토콜 : IP, ICMP 등
- 운영체제의 커널에 소프트웨어적으로 구현되어 있다.
4계층 - Transport Layer(전송 계층)
End To End 간 제어와 에러를 관리한다. Port 번호를 사용하여 목적지 컴퓨터의 프로세스에 데이터를 전달하는 계층이다.
- Port number 사용
- Port Number : 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져가야하는 정수 값
- 오류 검출 및 복구, 흐름 제어와 중복 검사를 수행한다.
- 송신자 : 수신자의 프로세스의 포트 번호를 붙인다.
- 수신자 : 해당 포트번호에 데이터를 넘겨준다.
- 전송 단위(PDU) : Segment
- 사용 장비 : 게이트웨이(GateWay), L4 스위치
- 프로토콜 : TCP, UDP, ARP ,RTP
- 운영체제의 커널에 소프트웨어적으로 구현되어 있다.
5계층 - Session Layer(세션 계층)
통신 세션을 구성하는 계층으로, 통신 장치 간의 상호 작용을 설정하고 유지하며 동기화한다.
- Session : 클라이언트와 웹 서버 간 네트워크 연결이 지속 유지되고 있는상태
- 사용자가 브라우저를 열어 서버에 접속한 뒤 접속을 종료하는 시점까지를 의미한다.
- 네트워크 상 양쪽 연결을 관리하고 연결을 지속시켜주는 계층
- 세션 생성, 유지, 종료, 전송 중단 시 복구 기능을 수행한다.
- TCP/IP 세션을 생성한다.
- 전송 단위(PDU) : Message
- 프로토콜 : NetBIOS, SSH, TLS
6계층 - Presentation Layer(표현 계층)
송신 측과 수신 측 사이에서 데이터의 형식(.png, .jpg 등)을 정해준다.
- 데이터의 인코딩-디코딩, 암호화 등이 이루어진다.
- 코드 간의 번역을 담당하여 형식상 차이를 다루는 부담을 응용 계층(L7)으로부터 덜어준다.
- 프로토콜 : JPG, MPEG, SMB, AFP
7계층 - Application Layer(응용 계층)
사용자와 바로 연결되어 있으며 응용 SW를 도와주는 계층이다.
- UI, I/O 부분에 해당한다.
- 사용자와 직접 접하는 유일한 계층이다.
- 송신자 : 사용자로부터 정보를 입력받아 하위 계층으로 전달한다.
- 수신자 : 하위 계층으로부터 데이터를 전달받아 사용자에게 전달한다.
- 프로토콜 : HTTP, DNS, Telnet, FTP 등
질문
Q. Transport Layer와, Network Layer의 차이에 대해 설명해 주세요.
Transport Layer는 Network Layer와 달리 port 번호를 사용하여 데이터를 넘겨주어야 할 프로세스를 찾는다. 즉, 더 자세한 주소로 데이터를 전송한다.
Q. L3 Switch와 Router의 차이에 대해 설명해 주세요.
예전에는 스위치 L2에서만 이용했다. 이후 기술이 발전하여 L3, L4에서도 사용할 수 있게 되었다.
라우터와 거의 동일하다고 한다.
상세한 내용은 아래 링크를 참고하길 바란다.
Q. ARP에 대해 설명해 주세요.
ARP(Address Resolution Protocol)
IP에 해당하는 물리 주소(MAC 주소)를 가지고 오는 프로토콜이다.
- 송신자는 목적지 IP Address를 지정해 패킷을 보낸다.
- 이 때, ARP 프로토콜을 통해 MAC 주소를 함께 요청한다.(ARP Request)
- Broadcast 방식을 사용한다. - 전체 전달
- 프레임을 수신 후 해당 IP의 컴퓨터가 자신의 MAC 주소를 ARP 프로토콜에게 전달(ARP Reply)
- Unicast 방식을 사용한다. ↔Broadcast
- 받은 MAC 주소를 ARP 테이블에 저장한다.
- 이후 통신은 ARP 테이블의 물리 주소를 이용한다.
출처
도서 : Computer Networking : A top-Down Approach by James F. Kurose, Keith W. Ross
OSI 7 Layers 와 TCP/IP Model[수정필요]
'Computer Science > Computer Network' 카테고리의 다른 글
DHCP (0) | 2023.04.04 |
---|---|
IP(IPv4, IPv6), NAT (0) | 2023.04.03 |
TCP, UDP (0) | 2023.04.02 |
4-Way Handshake (0) | 2023.04.02 |
3-Way Handshake (0) | 2023.04.02 |