모두의 네트워크 - 교보문고 정리글이다.
✔ 기본 용어
- 네트워크 : 데이터 통신망. 데이터는 패킷으로 나누어서 주고받음
- 비트(bit) : 0과 1의 정보를 나타내는 최소단위. 1byte(8bit)
- 문자코드(아스키코드 등) → 숫자와 문자의 대응
- LAN(Local Area Network) : 근거리 통신망. 건물 내부와 같이 지리적으로 제한된 곳의 네트워크
- WAN(Wide Area Network) : ISP의 서비스를 사용하여 구축한 네트워크. 지역간의 네트워크
- ISP(Internet Service Provider) : 인터넷 서비스 제공자. KT, SKT 등의 통신 회사
- 서버 : 네트워크에서 다른 컴퓨터에 서비스를 제공하기 위한 컴퓨터 또는 프로그램
- VPN(Virtual Private Network) : 가상사설망. 기업 내부 간의 통신에서 사용되는 네트워크 보안 방법.
✅ 데이터를 주고받기 위한 통신 규격
- 프로토콜 : 데이터 교환을 위한 통신 규약(규칙)
- ISO(International Organization for Standardization) : 표준 규격을 정하는 단체 중 하나. OSI 모델 제정
✔ OSI 7계층 모델
- ISO(국제표준화기구)가 정의한 국제 통신 표준 규약.
- 데이터가 송수신 될 때 컴퓨터 내부에서 일어나는 일을(네트워크 기본 구조) 7개 계층으로 나눠서 함(네트워크 통신 과정을 7개의 계층으로 나눔).
- 송신측은 상위→하위계층으로 데이터 전달.
- 수신측은 하위→상위계층을 통해 데이터를 받음.
7계층 : 응용 계층
6계층 : 표현 계층
5계층 : 세션 계층
4계층 : 전송 계층
3계층 : 네트워크 계층
→ 서로 다른 네트워크 간의 데이터 통신. 라우터 사용
2계층 : 테이터 링크 계층
→ 네트워크 장비 간에 신호를 주고받는 규칙을 정함(랜에서 데이터를 주고받기 위해 필요). 이더넷 헤더와 트레일러를 붙임
1계층 : 물리계층
→ 데이터를 전기신호로 변환하여 전송. 네트워크 장비로 리피터, 허브, 스위치가 있음
✔ TCP/IP 모델
- 현재 사용되는 네트워크 계층
- 데이터는 송신 데이터에 헤더를 붙여 송신하고(캡슐화), 수신받을 때 헤더를 제거함(역캡슐화)
- 캡슐화 : 통신 프로토콜 정보를 데이터에 추가해서 전송하는 기술(상위계층 → 하위게층)
4계층 : 응용계층(응용, 표현, 세션)
3계층 : 전송계층
2계층 : 인터넷 계층(네트워크) → 이더넷 헤더와 트레일러를 붙임
1계층 : 네트워크 접속 계층(물리, 테이터링크)
✅ 데이터 송수신 과정
✔ 캡슐화 과정
응용 계층 ⇒ 프로토콜(HTTP, DNS, FTP, SMTP, POPS, 등)
→ 세션, 표현 계층 포함
→ 애플리케이션에서 사용하는 데이터를 송수신하는 데 필요
(어플리케이션에 대한 서비스 제공)
전송 계층 ⇒ TCP, UDP
→ 목적지에 데이터를 정확하게 전달하는 데 필요(신뢰성↑)
네트워크 계층 ⇒ IP 등
→ 다른 네트워크에 데이터를 전달하기 위해 필요
데이터 링크 계층 ⇒ 이더넷
→ 랜에서 데이터를 송수신하는데 필요(물리적인 통신 채널을 연결하기 위해 필요)
물리 계층 ⇒ 전기 신호 변환
→ 데이터를 전기신호로 변환하여 네트워크로 전송
- 헤더 : 데이터 내용을 식별하기 위한 정보
- 트레일러 : 데이터를 전달 할 때 데이터의 마지막에 추가하는 정보. 데이터 전송 도중에 오류 발생 여부 확인(데이터 무결성 보장)
✅ 네트워크 전송 매체 종류
✔ 랜케이블(랜선)
- 네트워크를 연결하는 케이블. 트위스트 페어 케이블이라고도 함. 구리선 8개를 2개씩 꼬아 만든 4쌍의 전선.
- UTP 케이블 : 실드로 보호되어 있지 않아 노이즈의 영향을 받기 쉽지만 저렴해서 많이 사용됨
- STP 케이블 : 2씩 꼬아 만든 선을 실드로 보호하고 있어 노이즈의 영향은 적지만 비쌈
- 실드 : 금속 호일/매듭. 외부에서 발생하는 노이즈 방지
✔ 랜선 종류
- 다이렉트 케이블(컴퓨터와 스위치를 연결할 때 사용)
- 크로스 케이블(컴퓨터 간에 직접 랜선으로 연결 할 때 사용)
- auto MDIX : 다이렉트와 크로스 케이블을 자동으로 판단하는 기능. 케이블 배선 실수로 인한 통신 문제 해결
- MDI : 컴퓨터, 라우터의 인터페이스
- MDI-X : 스위치, 허브의 인터페이스
✅ ①물리계층
- 리피터 : 노이즈의 영향으로 파형된 전기신호를 복원하고 증폭하는 네트워크 중계 장비. 지금은 안씀
- 허브(더비허브) : 리피터와 같은 기능을 함. 랜선으로 여러 컴퓨터와 연결. 전기신호를 모든 포트로 보냄. 지금은 안쓰고 스위치를 씀
- 랜카드 : 전기 신호로 변환할 때 사용되는 장비. 네트워크 연결 및 데이터 전송 담당
데이터 → 랜카드 → 데이터
MAC 주소(물리주소) : 랜카드의 제조번호. 중복되지 않는다. 48비트로 구성(제조사번호 24비트, 일련번호 24비트)
✅ ②데이터 링크 계층
✔ 이더넷
- LAN에 사용되는 네트워크 모델. 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용.
- 데이터에 목적지 정보를 추가해서 목적지 외의 컴퓨터는 데이터를 못 받게 함
- CSMA/CD : 이더넷의 데이터 충돌 방지 방법. 데이터 전송 시점을 늦춤(지금은 안씀).
- 이더넷 규격 : 케이블 종류나 통신 속도에 따라 분류
통신속도, 전송방식, 케이블 종류로 구성
- 통신속도 : Mbps 단위
- 전송방식 : BASE(BASEBAND)
- 케이블 종류 : 동축케이블은 최대 길이를 100미터 단위로 표시(ex. 5는 최대길이 500m), UTP 케이블은 -T 로 표시
ex. 10BASE5(통신속도 5Mbps, 최대길이 500m인 동축케이블), 10BASE-T(통신속도 10Mbps인 UTP 케이블
- 이더넷 헤더 : 목적지 MAC 주소(6byte), 출발지 MAC 주소(6byte), 유형(2byte) 으로 구성. 유형에는 프로토콜 종류를 식별하는 16진수 번호가 들어감
- 이더넷 프레임 : 이더넷 헤더와 트레일러(FCS(Frame Check Sequence))가 추가된 데이터
✔ 스위치(스위칭 허브)
- LAN을 구성할 때 사용하는 단말기 간 스위칭 기능이 있는 통신망 중계 장치.
- 컴퓨터에서 특정한 단말기로 패킷을 보낼 수 있어 통신 효율 향상. MAC 주소 테이블이 있음.
- MAC 주소 : 이더넷의 물리적인 주소. 네트워크에서 각각의 기기를 구분하기 위한 주소
- MAC 주소 테이블 : 스위치의 포트번호와 그 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스
- MAC 주소 필터링 : 스위치에서 MAC 주소를 기준으로 목적지를 선택하는 것
- MAC 주소 학습 기능 : 컴퓨터에서 목적지 MAC 주소가 추가된 데이터(프레임)가 전송되면 MAC 주소를 포트와 함께 등록함.
- 플러딩 : 스위치가 수신 포트 외의 포트에도 데이터가 전송되는 것. MAC 주소 테이블에 목적지 주소가 등록되지 않는 경우에 발생함
✔ ARP(Address Resolution Protocol)
- 목적지 컴퓨터의 IP 주소를 이용해서 MAC 주소를 찾는 프로토콜(IP 주소를 물리주소인 MAC 주소로 변환).
- 이더넷 프레임을 전송하려면 목적지 컴퓨터의 MAC 주소를 지정해야 함.
- 네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당.
- ARP 요청(request) : MAC 주소를 찾아내기 위한 브로드캐스트
- ARP 응답(reply) : 요청에 대해 지정된 IP 주소를 가진 컴퓨터는 MAC 주소를 응답해줌
- ARP 테이블(table) : MAC 주소와 IP 주소의 매핑 정보를 메모리에 보관. 이후 데이터 통신은 컴퓨터에 보관된 ARP 테이블을 참고하여 전송. IP 주소가 변경되면 MAC 주소도 같이 변경되므로 일정 시간이 지나면 삭제가 됨
- ARP 캐시(cache) : 가장 최근에 변환한 IP : MAC 주소를 보관하고 있는 RAM의 한 영역
✅ 통신 방법
- 전이중 통신 방식 : 양방향 데이터 통신. 데이터 신호 충돌 방지(예/ 스위치)
- 반이중 통신 방식 : 데이터 송수신을 번갈아가면서 함. 충돌이 잘 일어나고, 접속된 모든 컴퓨터가 충돌 도메인 범위에 포함됨(예/ 허브)
- 충돌 : 데이터를 한 번에 하나만 전송할 수 있는 채널에 같은시점에 패킷을 보낼 때 발생
- 충돌 도메인(collision domain) : 충돌 영향이 미치는 범위
✅ ③네트워크 계층
✔ IP(Internet Protocol)
- IP 주소 : 네트워크 식별 주소. IPS(인터넷 서비스 제공자. 통신사)에게 받을 수 있음
- 공인 IP 주소 : 인터넷에 직접 연결되는 컴퓨터나 라우터에 할당
- 사설 IP 주소 : LAN에 있는 컴퓨터에 할당. LAN의 네트워크 관리자가 IP 주소를 할당하거나, 라우터의 DHCP 기능을 사용해 주소를 자동 할당
- 네트워크 ID : 어떤 네트워크인지 나타냄
- 호스트 ID : 해당 네트워크의 어느 컴퓨터인지 나타냄
- IP 헤더 : 네트워크 계층에서 캡슐화 할 때 데이터에 붙이는 정보
- 버전
- 헤더 길이
- 서비스 유형
- 전체 패킷 길이
- ID(일련번호)
- 조각 상태
- 조각의 위치
- TTL
- 프로토콜
- 헤더 체크섬
- 출발지 포트 번호(32bit)
- 목적지 포트 번호(32bit)
- IP 패킷 : 데이터에 IP 헤더가 추가되어 만들어진 것. 데이터 링크 계층에서의 프레임과 동일함
- IP 버전 : IPv4(32bit로 구성. 2^32=43억개의 IP주소 생성 가능), IPv6(128bit로 구성)
- IP 주소의 구조 : 10진수로 표시하지만 실제로는 2진수로 되어있음. 8비트(옥텟(octet)) 단위로 구분하여 4개씩 나눔.
✔ 라우터
- 서로 다른 네트워크와 통신하기 위한 중계 장치(라우팅 장비)
기기 -(LAN)→ 라우터 -(WAN)→ ISP
- 가정용 라우터로 공유기가 있음
- 스위치, 허브와 달리 네트워크를 분할/분리할 수 있음
- 컴퓨터에서 다른 네트워크로 데이터를 전송하려면 기본 게이트웨이를 설정해야 함
- 기본 게이트웨이(default gateway) : 다른 네트워크에 데이터를 전송하기 위해 라우터의 IP주소 설정하는 것(=네트워크 출입구 설정). 어디로 데이터를 전송해야 하는지 모르기 때문에 IP주소 설정을 먼저 해야함
- 라우팅 : IP주소까지 데이터를 전송하는 최적의 경로를 설정해 주는 과정
- 정적 라우팅
- 관리자가 라우팅 테이블에 경로를 수동으로 추가하는 방법
- 목적지까지의 경로를 고정하거나, 목적지까지의 경로가 하나로 한경되는 경우 사용
- 네트워크에 존재하는 모든 목적지 네트워크의 정보를 라우터에 알려줘야 함
- 소규모 네트워크에에 적합
- 라우팅 정보가 교환되지 않아 대역폭에 대한 부담이 적고 보안에 좋음
- 어떤 경로에 장애가 발생해도 다른 경로로 우회할 수 없고, 이 경우 관리자가 설정을 하나하나 변경해야 함
- 동적 라우팅
- 네트워크 변경을 자동으로 감지하여 라우팅 테이블을 업데이트
- 네트워크 장애가 발생했을 때 라우터끼리 정보를 교환하여 최적의 경로로 전환
- 대규모 네트워크에 적합
- 라우팅 테이블 : 라우터에 있는 경로 정보가 등록되어 있는 테이블(목적지 IP 주소의 경로를 알 수 있음)
- 수동 등록 → 정적 라우팅
- 자동 등록 → 동적 라우팅
- 라우팅 프로토콜 : 라우터 간에 라우팅 정보를 서로 교환하기 위한 프로토콜. 라우팅 프로토콜을 설정해 라우터 간에 경로 정보를 서로 교환하고 라우팅 테이블에 등록함 종류 : RIP, OSPF, BGP
✔ 네트워크 크기 & 서브넷
- 네트워크 크기 : 네트워크 ID를 크게하거나 호스트ID를 작게해서 조정 가능.
- A클래스 : 대규모 네트워크 주소. 8bit 네트워크 ID, 24bit 호스트ID
- B클래스 : 중형 네트워크 주소.16bit 네트워크 ID, 16bit 호스트ID
- C클래스 : 소규모 네트워크 주소. 24bit 네트워크 ID, 8bit 호스트ID
- IP 주소 범위(10진법) : 공인 IP 주소와 사설 IP 주소가 따로 있음. IPv4에서 사용하는 주소 그룹은 A~E클래스가 있음
-
A클래스 : 1.0.0.0 ~ 127.255.255.255(사설 → 10.0.0.0 ~ 10.255.255.255)
-
B클래스 : 128.0.0.0 ~ 191.255.255.255(사설 → 172.16.0.0 ~ 172.31.255.255)
-
C클래스 : 192.0.0.0 ~ 223.255.255.255(사설 → 192.168.0.0 ~ 192.168.255.255)
⇒가정의 LEN은 C클래스의 사설 IP 주소인 192.168.O.O 이 사용됨(cmd → ipconfig 로 확인)
- 컴퓨터에 할당할 수 없는 IP 주소 → 네트워크 주소, 브로드캐스트 주소
- 네트워크 주소 : 호스트 ID의 첫번째 숫자가 10진수로 0(2진수로 00000000)인 주소 전체 네트워크에서 작은 네트워크를 식별
ex)192.168.1.1 ~ 192.168.1.6 은 192.168.1.0의 네트워크에 있음
- 브로드캐스트 주소 : 호스트 ID의 첫번째 숫자가 10진수로 255(2진수로 11111111)인 주소. 해당 주소로 데이터를 전송하면 네트워크에 있는 모든 컴퓨터에 데이터 전송
- 서브넷팅(subneting) : 네트워크 분할. 대규모 네트워크를 작은 네트워크로 분할하여 전송되는 패킷의 번위를 좁힘
네트워크ID, 호스트ID → 네트워크ID, 서브넷ID, 호스트ID
- 서브넷(subnet) : 분할된 네트워크. 호스트ID로 사용되던 비트가 서브넷ID가 됨
- 서브넷ID : IP 주소의 네트워크 부분을 늘리기 위해 서브넷 마스크로 사용되는 비트(=서브넷 비트)
- 서브넷 마스크 : 네브넷팅 이후 판별하기 어려운 네트워크 주소와 호스트 주소를 식별하기 위한 값
- A클래스 : 255.0.0.0
- B클래스 : 255.255.0.0
- C클래스 : 255.255.255.0
- 프리픽스(prefix) 표기법 : 서브넷 마스크를
/비트수
로 나타내는 것 ex)C클래스 → 255.255.255.0/24 ex)C클래스를 28비트로 변경한 경우 → 255.255.255.240/28 ex)C클래스를 30비트로 변경한 경우 → 255.255.255.252/28
✅ ④전송계층(transport layer)
- 전송계층의 기능
- 오류 점검 : 오류 발생 시 데이터 재전송. 데이터가 제대로 도착했는지 확인 가능
- 전송 데이터의 목적지 애플리케이션 식별
- 전송계층의 특징
- 신뢰성/정확성 : 신뢰할 수 있고 정확한 데이터를 전달
→ 연결형 통신 : 상대편과 확인하면서 통신. TCP 사용
- 효율성 : 데이터를 효율적으로 빠르게 전달
→ 비연결형 통신 : 일방적인 데이터 전송. UDP 사용(주로 동영상에 사용)
✔ TCP(Transmission Control Protocol, 전송 제어 프로토콜)
- TCP 헤더 : 전송계층에서 TCP로 전송할 때 붙이는 헤더. 11개의 정보가 나열됨
- 출발지 포트 번호(16bit)
- 목적지 포트 번호(16bit)
- 일련번호(32bit) : 송신측에서 수신측에 분할된 데이터의 순서를 알려줌(몇 번째 데이터인지)
- 확인 응답 번호(32bit) : 수신 측이 몇 번째 데이터를 수신했는지 송신 측에 알려줌. 다음 번호의 데이터를 요청(=확인응답)하는 데도 사용됨
- 헤더 길이(4bit)
- 예약 영역(6bit)
- 코드 비트(6bit) : TCP 헤더의 6bit(107~112번째 bit)로 연결의 제어 정보가 기록되는 곳. 각 비트별로(URG, ACK, PSH, RST, SYN, FIN) 역할이 있음. 초깃값은 0 이고 활성화되면 1이 됨.
- SYN : 연결 요청
- ACK : 확인 응답
- FIN : 연결 종료
- 윈도우 크기(16bit) : 버퍼의 한계 값(확인 응답을 일일이 하지 않고 연속해서 송수신 할 수 있는 데이터 크기). 초깃값은 3-way 핸드셰이크를 할 때 판단함
- 체크섬(16bit)
- 긴급 포이트(16bit)
- 옵션
- 세그먼트(segment) : TCP 헤더가 붙은 데이터
- 버퍼(buffer) : 받은 세그먼트를 일시적으로 보관하는 장소
- 오버플로(overflow) : 수신 측으로 한계 값 이상의 데이터가 전송된 경우 데이터 처리 불가
- 연결 확립 : 가상의 통신로로 연결을 확립해야 데이터 전송 가능
⇒ 이 때 SYN, ACK 는 1로 활성화되고, 요청과 응답이 끝나면 다시 0이 됨
- FIN과 ACK를 사용한 연결종료
- 연결 종료 요청(컴퓨터1 —FIN→ 컴퓨터2)
- 연결 종료 응답(컴퓨터1 ←ACK— 컴퓨터2)
- 연결 종료 요청(컴퓨터1 ←FIN— 컴퓨터2)
- 연결 종료 응답(컴퓨터1 —ACK→ 컴퓨터2)
- 데이터 송수신
- 일련번호와 확인 응답 번호
- 200바이트 데이터 송신(컴퓨터1 —일련번호 : 3001, 확인응답번호 : 4001→ 컴퓨터2)
- 3001번 데이터 받음, 3201번 송신 요청
(컴퓨터1 ←일련번호 : 4001, 확인응답번호 : 3201— 컴퓨터2)
- 200바이트 데이터 송신(컴퓨터1 —일련번호 : 3201, 확인응답번호 : 4001→ 컴퓨터2)
- 3201번 데이터 받음, 4201번 송신 요청
(컴퓨터1 ←일련번호 : 4001, 확인응답번호 : 3401— 컴퓨터2)
- 재전송 제어 : 데이터가 손상/유실된 경우 일련번호와 확인 응답 번호를 사용해서 데이터 재전송
- 포트번호로 애플리케이션 확인
→ 같은 IP 내에서 프로세스 구분
(ex 컴퓨터=아파트, 애플리케이션=아파트 주민, 포트번호=아파트 호수)
✔ 포트 번호(PORT)
- 데이터의 목적지가 어떤 프로그램인지 구분하는 역할
→ 컴퓨터에 데이터 도착(IP 주소) 후 애플리케이션까지 도달(포트번호)
0~1023번
→ 잘 알려진 포트(well-known ports). 주요 프로토콜이 사용하도록 예약됨
1024번
→ 예약되어 있지만 사용되지는 않음
1025번~
→ 랜덤 포트. 클라이언트 측의 송신 포트로 사용
→ 웹 브라우저에는 임의의 포트가 자동으로 할당되어 클라이언트 측은 포트번호를 정하지 않아도 됨
- 애플리케이션 별 포트 번호
FTP : 20, 21
SSH : 22
TELNET : 23
SMTP : 25
DNS : 53
HTTP : 80
POP3 : 110
HTTPS : 443
- UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)
- UPD 헤더 : 전송계층에서 UDP로 전송할 때 붙이는 헤더
- 출발지 포트 번호(16bit)
- 목적지 포트 번호(16bit)
- 길이(16bit)
- 체크섬(16bit)
- UDP 데이터그램 : UDP 헤더가 붙은 데이터
- 브로드캐스트 : 데이터 일괄 전송
✅ ⑤응용계층(application layer)
- 클라이언트 : 서비스 요청 측
- 서버 : 서비스 제공 측
- 서버 프로그램 → 응용계층에서 동작
- 클라이언트/서버 통신 → 응용계층의 프로토콜 사용
HTTP(HyperText Transfe Protocol) : 웹 페이지 접속
DNS(Domain Name System) : 이름 해석(URL을 IP 주소로 변환)
FTP(File Transfer Protocol) : 파일 전송
SMTP(Simple Mail Transfer Protocol) : 메일 송신
POP3(Post Office Protocol) : 메일 수신
✔ WWW(World Wide Web)
- 멀티미디어 인터넷 서버. 인터넷 서비스의 하나
-
HTML : 하이퍼텍스트를 작성하는 마크업 언어
하이퍼텍스트 → 문자, 이미지, 하이퍼링크 표시
-
URL(Uniform Resource Locator) : https(통신 프로토콜), www.google.com(호스트명), 443(포트 번호), /search(패스), 쿼리 파라미터(q=hello&hl=ko) 로 구성
-
HTTP : 클라이언트(웹 브라우저)와 웹 서버 간에 정보를 주고받기 위한 네트워크 프로토콜. 클라이언트에서 HTTP 요청(request)을 보내고, 서버에서 HTTP 응답(response) 반환
GET : HTTP 요청 시 요청정보, 파일 이름, 버전 등을 서버에 전송
ex) GET /index.html HTTP/1.1
HTTP/1.0 : 요청을 보낼 때마나 연결했다가 끊는 작업 반복
HTTP/1.1 : keepalive 기능 추가. 연결 후 데이터 교환(요청/응답)을 모두 끝내면 연결 종료. 요청 순서대로 응답을 반환(다음 요청에 대한 처리가 늦어짐)
HTTP/2 : 요청을 보낸 순서와 상관 없이 응답
- DNS : 웹 브라우저에 URL을 입력하면 서버로 IP 주소 요청하고 응답 받은 IP 주소로 접속
- DSN 서버 : DNS 서비스가 동작하는 컴퓨터(서버)
- 메일 송수신 과정
-
SMTP를 사용해 컴퓨터1에서 메일 서버1 로 메일 송신
→ 세션 시작, 송신자의 메일 주소, 목적지 메일 주소, 메일 본문 전송, 메일 본문 송신, 세션 종료를 통지하고 응답 받음
-
SMTP를 사용해 메일 서버1에서 메일 서버2로 메일 송신
-
POP2를 사용해 메일 서버2에서 컴퓨터2로 메일 송신
→ 세션 시작, 수신자의 사용자 이름, 수신자의 비밀번호, 메일 확인, 메일 전송, 세션 종료를 통지하고 응답받음
- 메일 박스 : 메일 서버에 있는 메일 보관 기능
- 사용자 인증 : 메일 수신 시 필요한 사용자 이름과 비밀번호
- ping 명령 : 목적지 컴퓨터와 통신을 확인하는 명령. ICMP라는 프로토콜을 사용해 목적지 컴퓨터에 ICMP 패키을 전송하고, 패킷에 대한 응답이 제대로 오는지 확인함(정상 실행 = 네트워크 정상 연결 이므로 문제 확인 시 자주 사용됨) 사용법 : 명령 프롬프트 → ping 목적지 IP 주소
✅ <OSI 모델(네트워크)의 전체 흐
네트워크 장비에서 이루어지는 데이터 처리 과정 中 요청
**컴퓨터 → 스위치A → 라우터A → 라우터B → 스위치B → 웹 서버**
- 컴퓨터 → 브라우저에 URL 입력 후 ENTER
- 응용계층 → HTTP 메세지 전송(GET /index.html HTTP/1.1)
- 전송 계층 → TCP 헤더를 붙인 세그먼트 전달
- 네트워크 계층 → 세그먼트에 IP 헤더를 붙인 IP 패킷 전달
- 데이터 링크 계층 → 이더넷 헤더를 붙인 이더넷 프레임 전달
- 물리 계층 → 랜카드에서 전기신호로 변환, 스위치A로 전송
- 스위치A
- 데이터 링크 계층 → 전기 신호 전달 받음
- 물리 계층 → 전기 신호로 변환, 라우터A로 전송
- 라우터A
- 데이터 링크 계층 → 이더넷 프레임의 목적지 MAC주소와 자신의 MAC주소 비교. 주소가 같으면 역캡슐화 후 데이터 전달
- 네트워크 계층 → 라우팅 테이블과 목적지 IP 주소 비교(목적지 네트워크를 알기 위해). 라우팅 테이블에서 목적지 IP 주소의 경로를 알 수 있으므로 라우팅 가능. 출발지 IP주소를 라우터A의 외부 IP 주소(WAN 측 주소)로 변경 후 데이터 전달
- 데이터 링크 계층 → 이더넷 프레임 전달
- 물리 계층 → 전기 신호로 변환, 라우터B로 전송
- 라우터B
- 데이터 링크 계층 → 이더넷 프레임의 목적지 MAC주소와 자신의 MAC주소 비교. 주소가 같으면 역캡슐화 후 데이터 전달
- 네트워크 계층 → 라우팅 테이블과 목적지 IP 주소 비교(목적지 네트워크를 알기 위해). 라우팅 테이블에서 목적지 IP 주소의 경로를 알 수 있으므로 라우팅 가능. 출발지 IP주소를 라우터B의 외부 IP 주소(LAN 측 주소)로 변경 후 데이터 전달
- 데이터 링크 계층 → 이더넷 프레임 전달
- 물리 계층 → 전기 신호로 변환, 스위치B로 전송
- 스위치B
- 데이터 링크 계층 → 전기 신호 전달 받음
- 물리 계층 → 전기 신호로 변환, 웹 서버로 전송
- 웹 서버
- 데이터 링크 계층 → 이더넷 프레임의 목적지 MAC주소와 자신의 MAC주소 비교. 주소가 같으면 역캡슐화 후 데이터 전달
- 네트워크 계층 → 목적지 IP 주소와 웹 서버 IP 주소가 같은지 확인. 주소가 같으면 IP 헤더 분리 후 전달
- 전송 계층 → 목적지 포트 번호 확인, TCP 헤더 분리 후 전달
- 응용 계층 → 데이터 도착
✅ 무선 랜
무선 액세스 포인트와 무선 클라이언트가 서로 통신하는 구조