익일 학교 졸업을 위한 졸업 인터뷰가 예정되어 있다. 해서 CS지식을 요약정리해 기재해본다.
범위에 따른 네트워크 구분
- LAN(local area network): 특정 지역을 범위로 하는 네트워크 (가정 네트워크)
- WAN(Wide area network): 인터넷 서비스 제공자(ISP)등이 제공하는 광역 네트워크 - KT, SKT 등등
- WLAN(Wireless Local Area Network): 무선 근거리 네트워크 (LAN인데 무선으로 쓰는 것)
프로토콜
- 컴퓨터간 통신을 위한 통신 규약
- 각 프로토콜은 헤더와 데이터로 구성
OSI 7 Layer
- ISO(국제표준화기구)에서 OSI 모델 제정
- 다양한 컴퓨터간 데이터 전송을 지원할 수 있는 추상 모델을 표준화한 것
- 각 계층에서는 프로토콜에 맞는 헤더를 붙임
계층 | 이름 | 설명 |
---|
7계층 | 응용(application) 계층 | 이메일, 파일 전송, 웹사이트 열람 등 |
6계층 | 표현(Presentation) 계층 | 문자 코드, 압축, 암호화 |
5계층 | 세션(Session) 계층 | 세션 체결, 통신 방식 결정 |
4계층 | 전송(Transport) 계층 | 신뢰할 수 있는 통신 구현 |
3계층 | 네트워크(Network) 계층 | 다른 네트워크와 통신을 위한 경로 및 논리 주소 설정 |
2계층 | 데이터링크(Data link) 계층 | 네트워크 기기 간 데이터 전송 및 물리 주소 결정 |
1계층 | 물리(Physical) 계층 | 시스템간 물리적 연결과 전기신호 변환 및 제어 |
물리 계층
데이터 링크 계층
- 물리적 네트워크 사이의 데이터(프레임) 송수신 담당
- 대표적인 프로토콜: Ethernet(이더넷) 프로토콜(LAN-LAN통신 시 물리적인 데이터 처리를 담당하는 프로토콜) - 물리/데이터 링크의 두 계층을 한번에 모두 처리
- 하드웨어마다 유일한 주소인 MAC 주소 사용 - 하드웨어 사업 시 몇번부터 몇번까지의 MAC주소를 사용할 수 있는지 정보가 필요함
- 헤더에는 Source / Destinaton 각각의 MAC 주소가 담겨있음, 즉 End-to-End, Point-to-Point 통신
네트워크 계층
- 다양하고 방대한 네트워크 상에서 컴퓨터간 논리적 연결을 위해 필요한 계층
- 대표적인 프로토콜: IP 프로토콜 (IP 주소 지정)
- 프레임: 데이터 링크 계층에서 정의되는 데이터 단위
- 패킷: 네트워크 계층에서 정의되는 데이터 단위
전송 계층
- 목적지에 신뢰할 수 있는 데이터 전달 담당 (전송중 데이터 손상/유실 확인을 위한 오류 점검 체크섬 기능)
- 목적지의 어떤 응용프로그램 에 데이터를 전달해야 하는지를 식별하는 기능(포트)
데이터의 목적지는 하드웨어가 아닌 응용프로그램이므로. 포트 번호가 응용 프로그램의 주소임
- 대표적인 프로토콜: TCP/UDP
- TCP 헤더: Source Port/Destination Port/Checksum
TCP vs UDP
- TCP: 연결형 프로토콜, 데이터의 전송 순서 보장, 데이터 신뢰성 보장
- UDP: 비연결형 프로토콜, TCP보다 전송속도 빠름, 주로 스트리밍/브로드캐스팅 서비스
- UDP 데이터는 데이터그램이라고 부름(패킷으로 부르지 않음)
포트번호
- 목적지의 어떤 응용프로그램에 데이터를 전달해야 하는지를 식별하는 기능
- 포트 번호는 0 - 65535
- 웹서버(80), 이메일(110), FTP(21)등 일반적인 포트 번호가 지정되어 있음
세션 계층
- 세션 또는 대화(Dialogue) 연결, 관리 담당
- 예: FTP로 여러 파일을 각각 다운받을 때, 각 다운로드의 연결/관리 처리
표현 계층
- 응용 계층으로부터 전달받거나, 전달하는 데이터의 암호화 담당
응용 계층
- 네트워크 응용 프로그램을 위한 인터페이스 제공
- 대표적인 프로토콜: HTTP, FTP, DNS, SMTP