네트워크 특강:초안¶
강의일: 2023년 5월 12일 발표자: 명지대학교 문대경 교수님 (UC Berkeley CS Ph.D., (전)넥슨 개발자) 주제: On Computer Network (크래프톤 정글 7주차 관련 - 네트워크 개론)
Intro¶
컴퓨터 공학 용어는 기존에 존재하는 것들에서 차용했다. 따라서 용어 자체는 목적이 아니라 수단이 되어야 한다. (영어로 된 용어가 익숙하지 않다고 겁먹지 말고, 해당 용어가 어떤 단어를 차용했는지를 알면 그 의미를 유추할 수 있다는 의미로 받아들임)
- 네트워크: 컴퓨터를 연결할 것
- 인터넷: 네트워크를 연결하는 방식
인터넷은 미군 내부의 네트워크를 연결하기 위해 연구, 개발되었다. 덕분에 어떤 물리적 연결 기술이든 IP만 구현하면 다양한 소프트웨어를 돌릴 수 있다. 반대로 어떤 서비스든 IP로만 구현하면 다양한 물리적 연결 기술로 된 네트워크에서 동작한다.
TCP/IP¶
인터넷에서 사용되는 TCP/IP 모델은 OSI7 모델의 단순한 형태이다. 각 계층은 데이터를 패킹, 언패킹하여 데이터를 송수신한다. TCP/IP의 각 계층은 다음과 같다.
- 응용 계층(Application Layer)
- 프로토콜: HTTP, FTP, PING 등
- 데이터 단위: Data
- 설명: 애플리케이션에서 전송할 데이터를 프로토콜에 맞춰 패킹하고 전송한다.
- 전송 계층(Transport Layer)
- 프로토콜: TCP, UDP
- TCP(Transmisson Control Protocol): UDP 보다 느리지만 안정적이다.
- UDP(User Datagram Protocol): TCP보다 빠르지만 데이터 손실이 발생할 수 있다.
- 데이터 단위: Segment(TCP), User Datagram(UDP)
- 설명: 데이터를 수신할 애플리케이션의 포트가 포함된 헤더를 패킹한다. 데이터를 수신할 때는 포트와 매핑되는 애플리케이션으로 데이터를 전달한다.
- 프로토콜: TCP, UDP
- 인터넷 계층(Internet Layer)
- 프로토콜: IP
- 데이터 단위: Packet
- 설명: 데이터를 수신할 IP 주소가 포함된 헤더를 패킹한다. 또한 라우팅을 통해 경로를 선택하고 데이터를 목적지까지 전달한다.
- 네트워크 접근 계층(Network Access Layer)
- 프로토콜: Ethernet
- 데이터 단위: Frame
- 설명: 데이터를 수신할 네트워크 카드의 MAC 주소가 포함된 헤더를 패킹한다.