Design Issues / Service Primitives / OSI 7계층 / TCP IP 4계층
Addressing - 컴퓨터 통신에서는 기본적으로 IP기반 통신 함.(IP라는 주소 기반으로 통신)
Error Control - 전송확인작업. (전처리방식 / 후처리방식)
아스키코드의 패리티비트가 에러컨트롤 방법.
이븐(even)패리티 : 짝수여야 에러발생X. 만약 0이 아닌 신호 3개가 있으면 홀수개이므로 에러발생.
Flow Control - 수용할 수 있는 크기에 맞게 데이터 분할(논리적) / 데이터 양이 너무 많을 때 전송속도 제어(물리적)
Multiplexing - 다수개의 입력을 하나의 출력으로
Routing - 소스부터 데스티네이션까지 가는 경로 결정지음(빠른전송을 목적으로)
1. LISTEN : 대기상태.
2. CONNECT : 통신선로 만들어짐.(전화에서의 ringing)
3. RECEIVE
4. SEND
5. DISCONNECT
DISCONNECT는 매 단계마다 이루어짐.
ex) 네이버 홈페이지 가져오고 통신 끊고, 검색 통신 새롭게 연결하고 끊고
(서버에 동시에 접속할 수 있는 사람의 수는 한정적이기 때문.)
*Ping : 반환시간을 통해 나 <-> 서버 사이 통신상태 확인
레이어 별 interface에서 output interface, input interface 따로 존재.
ex. 키보드 입력
(키보드 입력시 최종목적지는 메모리)
내가 키보드로 친 내용을 output interface로 먼저 보냄 -> 모니터로 연결
'a'입력 -> 화면에 'a' 출력
입력한 내용이 화면에 보임 = 메모리에 보내기 전에 사용자가 잘 입력했는지 확인가능.
input interface에서 에러체크하기 위해 버퍼로.
에러체크는 1계층 레이어정도에서 함.
(프롬프트에서 엔터를 눌러야 메모리에 전송됨. 누르기 전엔 버퍼에 있음.)
▷ OSI 7계층
▽ 계층별 역할
[7] Application: 응용프로그래밍. http
[6] Presentation: 7계층에서 전송한 데이터의 표현을 어떠한 방식을 따를 것인가
[5] Session: 통신회선(논리적 연결회선). source-destination 사이 통신 선로 만드는 과정(통화에서의 ringing). 연결할 때 사용되는 규칙을 명시함
[4] Transport: 전송 관련된 걸 담당. 실제 전송되는 데이터의 사이즈(양)이 얼마나 되는지. 한 번에 전송될 수 있는지 관리.
메세지를 분할(fregmentation)하는 역할. 메세지가 쪼개진 것을 segment라 부름.
segment 단위마다 하나씩 전송하기 위해 3계층에서 packet이라 부름.
전송 속도가 너무 빨라서 데스티네이션의 버퍼에 쌓이게 되는 경우, ttl 이용해 패킷의 유통기한 확인. 재전송 요청 가능
(계층별 헤더마다 ttl 존재)
[3] Network: 논리적 연결 담당. 패킷마다 Ip적어줌. 3계층 헤더에 source와 destination의 Ip 적음. Routing 담당.
[2] Data link: 물리적 연결 담당. "직접적인 연결". 2계층 헤더에 Mac address 적어줌. (mac address: 네트워크 카드에 고유하게 생성되어있는 주소). 물리적 회선을 통해 데이터를 실어보냄(헤더/트레일러 달아주기)
[1] Physical: 물리적 회선. 일반적으로 비트스트림 단위로 전송됨
▽ 노드별 전체적인 데이터 전송과정(그림 예시):
Source에서 메세지가 7~5계층을 거치고,
4계층에서 한 번에 전송할 수 있는 양에 따라 메세지 분할(fregmentation).
3계층에서 헤더에 Source(A), Destination(B)의 Ip주소 적어줌(캡슐화). Routing해서 Mac address 목적지 설정
2계층에서 헤더에 Source(A), Destination(a)의 Mac 주소 적어줌(캡슐화).
1계층 통해 데이터 전송.
Source로부터 전송된 데이터를 라우터 a에서 받음.
2계층으로 올려서 헤더에 적힌 Destination의 Mac주소(a)와 현재 라우터의 Mac주소(a)가 일치하는지 확인. 일치하므로,
역캡슐화하고 3계층으로 올려서 헤더에 적힌 Destination의 Ip주소(B)와 현재 라우터의 Ip주소(a)가 일치하는지 확인.
일치하지 않으므로, Routing해서 Mac address 목적지 다시 설정하고 2계층으로 데이터 내려줌.
2계층에서 데이터 받아서 Mac주소를 다시 적어주고 1계층 통해 데이터 전송.
라우터 a로부터 전송된 데이터를 라우터 b에서 받고, 같은 과정 반복.
라우터 b로부터 전송된 데이터를 Host B에서 받고, 3계층까지 같은 과정 수행.
3계층에서 Destination의 Ip주소(B)와 현재 라우터의 Ip주소(B)가 일치하는지 확인. 일치하므로,
decapsulation해서 4계층으로 올림.
4계층에서는 1)분할된 메세지가 모두 도착할 때까지 대기한 후, 2)순서 맞춰서 합치는 작업을 함
5~7계층 거쳐서 최종적으로 목적지에 데이터 전송
▽ 3~1계층 역할
▽ 3계층 논리적연결 - 2계층 물리적 연결 차이
* 논리적 연결: 서울 -> 부산
* 물리적 연결: 서울 -> 수원. 수원 - 천안. 천안 - 대전. 대전 - 부산
▷ OSI 7계층 & TCP/IP 4계층
7~5 계층 → Application layer
4 계층 → Tcp layer
3 계층 → Ip layer
2~1 계층 → Data link layer
* TCP/IP 모델에서 Data link 계층을 Data link와 Physical 계층으로 나눠서 5계층으로 보기도 함.
* OSI가 TCP/IP보다 먼저 나옴. but, 현실화 안됨.
* 표준화 단계에서 TCP/IP가 OSI보다 더 갈고 닦음.
research(OSI) -> standards(TCP/IP) -> 자본투입(현실화 시도)
'개념 정리 > 컴퓨터네트워크' 카테고리의 다른 글
컴퓨터네트워크 05 (0) | 2022.04.21 |
---|---|
컴퓨터네트워크 03 (0) | 2022.03.24 |
컴퓨터네트워크 02 (0) | 2022.03.23 |
컴퓨터네트워크 01 (0) | 2022.03.22 |