CS

Network,TCP/IP protocol 기본 개념 (컴퓨터 지식)

Jerry_K 2023. 10. 24. 17:56

Network의 사전적 의미는 통신이 가능한 서로 연결된 장치의 모임이다. 

 

[네트워크의 구조]

1. Point-to-Point 

- 두 장치간의 전용 링크

ex) TV - 리모컨

 

 

2. Multipoint 

- 3개 이상의 특정 기기가 하나의 링크를 공유

 

[네트워크 범위] 

1. PAN (Personal Area Network)   

- 개인 장치 네트워크

- 매우 제한적이고 짧은 영역 

ex)  블루투스, 무선 키보드

 

2. LAN (Local  Area Network)

- 개인, 사무실, 학교 등에 있는 호스트 연결 

- private 네트워크여서 외부 통제 불가능

- 컴퓨터 자원을 로컬 영역 네트워크에서 공유가능

- 관리자에게 권한이 많아 개인 정보 보호 기능 없음

ex ) 군대 또는 사무실 인트라넷

 

3. WAN (Wide Area Network)

- 대규모 컴퓨터 네트워크  (장거리 통신 가능)

- 네트워크 유지 관리 어려움 

- 보안 수준 낮음 


[프로토콜]

프로토콜은 송신자,수진자, 중간 장치들이 효과적인 통신을 하기위한 규칙이다. 

통신을 효율적으로 하기 위해서 여러 계층의 프로토콜을 두어 서로 계층간의 업무를 나눈다.

 

 

[TCP/IP Protocol] 

이 그림은 TCP/IP Protocol(Transmission Control Protocol / Internet Protocol) 그룹의 계층이다. 

가장 일반적으로 TCP/IP Protocol는 5계층으로  Physical/Data-link/Network/Transport/Application 층이 있다.

(프로그램 코드를 짜는데 직접적인 도움은 안되겠지만, 어디선가 들어본 단어들을 이 계층들 이해를 통해 좀 더 구조화 시키면 개발자 도구 같은 툴에 대한 이해력을 높힐 수 있다.)

 

 

통신을 효율적으로 하기 위해서 각 계층별 업무를 나눴다. 

그리고 양측의 각 계층은 동일한 객체를 가져야한다.

 

1. Physical Layer (물리층)

- 최하위 계층으로 장치간의 물리적 접속을 제어 (논리적 단위는 비트)

- 기계적,전기적,기능적 특성 고려 

- 패킷 : Bits

- 대표 프로토콜 :  V.24,RS-232C,RS-449 

(내가 물리층을 이해한 방식 :  0과 1의 비트들로 구성된 데이터를 전달 및 제어 ) 

 

2. Data Link Layer (데이터 링크층)

- LLC와 MAC의 부계층으로 구성

- MAC은 물리적 부분으로 1계층과 연결 

- LLC는 논리적인 부분으로 네트워크 계층과 연결 

- 링크의 유형에 따라 다른 프로토콜을 사용

-  MAC을 구분하는 고유 주소 존재

- 패킷 : Frame

- 대표 프로토콜 :  HDLC, SDLC, LAPB

 

3. Network Layer (네트워크층)

- 데이터 교환 및 중계 

- 라우팅 ( 패킷에 포함된 정보를 통해 목적지까지 데이터를 다른 네트워크에 전달 경로 선택 및 스위칭 과정)

- 인터넷 장치 (Router 등)를 구분하는 Global 주소

- 패킷 : Datagram

- 대표 프로토콜 : IPv4, IPv6 

(반가운 단어가 떴다 !! ) 

 

4. Transport Layer (전송층)

- 사용자의 네트워크와 응용프로그램 사이의 정확한 데이터 전송을 하기 위한 계층

- 데이터 저농에 대한 오류 검출, 오류 복구

- 응용을 구분하는 Local 주소

- 패킷 : User/ Segment datagram

-  대표 프로토콜 : TCP,UDP,SCTP

 

5. Application Layer (응용층)

- 최상위 계층으로 연겨로딘 응용 프로세스 정보 교환 

- 사용자 친화형 주소 (URL 등)

- 패킷 : Message

-  대표 프로토콜 : HTTP, SMTP, FTP, DNS, SSH  

 

[캡슐화/역캡슐화] 

- 프로토콜 계층화에  매우 중요함

-  Application 방향에서 Physical 방향으로 가는게 캡슐화 /  반대는 역캡슐화

-  캡슐화 

(1) Application층에서 메시지를 Transport층으로 전달

(2) Transport층은 메시지를 페이로드로 받아 헤더 정보를 추가하여 데이터그램으로 만들고 네트워크에 전달

(3) Network 층은 Transport층의 데이터그램을 페이로드로 받고 헤더를 추가하여 데이터그램으로 만들어 Link층에 전달

(4) Data Link 층은 Network 층의 데이터그램을 페이로드로  받아 헤더를 추가하고 프레임으로 만들어 물리 계층 전달

(메시지 페이로드로 받고 각 계측의 헤더 정보를 넣고 프레임으로 만들어 물리 계층에 전달)

 

(크롤링을 하면 헤더 정보를 입력해줘야 하는 경우가 많다.  그리고 request.post 형식으로 요청을 할 때 payload도 입력해야 할 때가 있었다. 그때는 의미를 잘 몰랐는데, 이제는 조금이나마  어떤 느낌인지 알 것 같다.)