728x90
1️⃣ 네트워크의 기본 구조
네트워크는 노드와 간선으로 이루어진 자료구조로, [그래프] 형태를 띔
- [네트워크 토폴리지] : 네트워크 상에서 노드와 노드 사이의 연결 구조 ex) 망형, 트리형, 링형, 성형, 버스형(선형)
- [호스트]: 네트워크 가장자리에 위치하면서, 네트워크를 통해 주고받는 정보를 최초로 송신하고 최종 수신하는 노드
- ex) 노트북이 구글에 접속했다면, 노트북과 구글의 서버 컴퓨터가 각각의 호스트 역할을 한 것임
- 중간 노드는 정보를 원하는 수신지까지 안정적으로 전송하는 역할을 함. ex) 스위치,라우터,공유기
◾️ LAN과 WAN
전세계에는 여러 개의 LAN이 있고 WAN을 통해 LAN간의 통신을 가능하게함
- [LAN]: Local Area Network로 근거리 네트워크. ex) 공유기를 통해 모든 네트워크 기기가 통신하고 있다면 LAN이 공유기 기준으로 구축되었다고 할 수 있음
- [WAN]: Wide Area Network로 원거리 네트워크를 뜻함. LAN간 통신을 가능하게 해줌. 일반적으로 ISP(Internet Service Provider)이라는 인터넷 서비스 업체가 구축하고 관리함. ex) KT, LG U+, SK 브로드밴드
◾️ 패킷 교환 네트워크
만약 서로 다른 네트워크에 있는 두 호스트가 유무선 통신매체를 통해 100GB의 파일을 주고 받는다고 했을 때 한번에 송수신 될 수없고,
여러 데이터로 쪼개져서 송수신됨
- [패킷]: 네트워크를 통해 송수신되는 데이터의 단위
[패킷] = [페이로드] + [헤더] (+ [트레일러]) - [페이로드] : 패킷에서 송수신하고자 하는 데이터
- [헤더] (+ [트레일러]) : 부가정보
- [패킷 교환 네트워크]: 패킷 단위로 정보를 쪼개서 송수신하고 수신지에서 재조립하며 패킷을 주고 받는 오늘날의 네트워크
◾️ 주소의 개념과 전송 방식
네트워크에서 두 호스트가 정보를 주고 받으려면 주소가 필요함.
- [주소]: 페킷의 헤더에 명시되는 정보. 대표적인 주소로는 [IP 주소]와 [MAC 주소]가 있음
주소를 바탕으로 다양한 수신지 유형을 지정해 패킷을 보낼 수 있음
- [유니캐스트]: 1:1 (송신지:수신지)
- [브로드캐스트]: 1:多 (네트워크상의 모든 호스트에게 메세지 수신)
- [브로드캐스트 도메인]: 브로드캐스트가 전송되는 범위. 호스트가 같은 도메인에 속해있는 경우에는 같은 LAN에 있다고 간주함.
- [멀티캐스트]: 네트워크 내의 동일 그룹에 속한 호스트에게만 전송
- [애니캐스트]: 동일 그룹에 속한 호스트 중 가장 가까운 호스트에게 전송
2️⃣ 두 호스트가 패킷을 주고 받는 과정
서로 다른 호스트가 주고 받는 정보를 이해하기 위해서는 규칙이 필요함.=> [프로토콜]
◾️ 프로토콜
- [프로토콜]: 네트워크에서 통신을 주고받는 노드 간의 합의된 규칙이나 방법
ex) IP,ARP,ICMP,ICP,UDP,DHCP,DNS,HTTP,SSL/TLS,HTTPS 등
중요한 점은 프로토콜 마다 [목적과 특징]이 다름.
- IP: 네트워크 간 주소를 지정
- ARP: IP주소와 MAC 주소를 대응
- HTTPS: HTTP보다 안전함
- TCP: UDP보다 신뢰성이 높음
마찬가지로, [패킷의 내용]도 달라질 수 있음. 패킷에 따라 [패킷의 헤더]가 달라짐 ex) TCP-UDP
◾️ 네트워크 참조 모델
호스트 간 패킷을 주고받는 과정은 택배를 주고받는 과정과 비슷함.택배를 주고받는 과정에는 [정형화된 순서]가 존재함.
=> 네트워크 참조 모델
- [네트워크 참조 모델]:통신이 이루어지는 단계를 계층적으로 표현한 것
- 대표적인 네트워크 참조 모델에는 [OSI 모델]과 [TCP/IP 모델]이 있음
- [OSI 모델] : ISO에서 만든 네트워크 참조 모델로 7단계로 이루어짐. 주로 네트워크의 이론적 기술 목적
- 1단계 [물리 계층] : 최하위 층, 컴퓨터가 이해할 수 있는 비트 신호(0,1) 주고 받음. 하드웨어 밀접 층
- 2단계 [데이터 링크 계층]: 같은 LAN에 속한 호스트끼리 올바르게 정보를 주고 받기 위한 계층으로, MAC주소를 사용해서 호스트를 식별. 물리 계층과 주고 받는 정보의 오류를 확인하기도함. 하드웨어 밀접층.
- 3단계 [네트워크 계층]: 네트워크간 통신을 가능하게함. WAN을 통해 다른 네트워크와 통신 가능. IP주소 사용. 대표적 프로토콜은 IP
- 4단계 [전송 계층]: 패킷이 전송 도중에 손실되거나 순서가 바뀔 경우가 있음 이때 신뢰성있는 전송을 가능하게함. 포트를 통해 특정 응용 프로그램과의 연결다리 역할 수행함. 대표적 프로토콜은 TCP/UDP
- 5단계 [세션 계층]: 응용 프로그램 간의 연결 상태(=세션) 관리. 연결 유지/생성/소멸
- 6단계 [표현 계층]: 번역가 처럼 인코딩,압축,암호화 같은 작업 수행 (세션 계층과 표현 계층은 명확하게 구분하지 않거나 응용 계층에 포함하기도 함)
- 7단계 [응용 계층]: 사용자와 가장 밀접된 층으로 여러 서비스 제공. 대표적인 프로토콜: HTTP,HTTPS,DNS
- [TCP/IP 모델]: 구현과 프로토콜에 중점을 둔 네트워크 참조 모델
- 1단계 [네트워크 엑세스 계층/링크 계층/네트워크 인터페이스 계층]: OSI의 데이터 링크 계층과 유사
- 2단계 [인터넷 계층]: OSI의 네트워크 계층과 유사
- 3단계 [전송 계층]: OSI의 전송 계층과 유사
- 4단계 [응용 계층]: OSI의 세션 계층+표현 계층+응용계층 과 유사
◾️ 캡슐화와 역캡슐화
패킷의 송신과정에서는 [캡슐화]가 이뤄지고, 수신 과정에서는 [역캡슐화]가 이뤄짐.
즉, 각 계층에서는 어떤 정보를 송신할 떄 상위 계층으로부터 내려받은 패킷을 페이로드 감아, 각 계층에 포함된 프로토콜의 각기 다른 목적과 특징에 따라 헤더 혹은 트레일러를 덧붙인 다음 하위 계층으로 전달함
- [캡슐화]: 송신 과정에서 헤더(및 트레일러)를 추가해나가는 과정
- [역캡슐화]: 캡슐화 과정에서 붙인 헤더(및 트레일러)를 각 계층에서 확인한 뒤 제거하는 과정
이때, 각 계층에서 주고받는 패킷의 이름이 다름
- 그이상의 계층: 데이터 or 메시지
- 전송 계층
- TCP: 세그먼트
- UDP: 데이터 그램
- 네트워크 계층: 패킷 (또는 데이터 그램)
- 데이터 링크 계층: 프레임
- 물리 계층: 심볼 or 비트
728x90