본문 바로가기
네트워크

네트워크1 2차시

by 뭔가해보겠습니다 2024. 6. 2.

OSI 7계층

 

1계층 물리
- 데이터 전송에 사용되는 물리적 매체를 다룸
- 비트 단위

- 허브, 리피터


2계층 데이터링크
- 물리계층에서 전송된 비트열을 프레임으로 나누어 처리
- 오류제어, 흐름제어, 동기화, 노드간 직접적 통신
- 프레임 단위
- 이더넷, HDLC, PPP
- MAC 주소 (48 비트)

- 브리지, 스위치


3계층 네트워크
- 라우팅, 패킷 전달 기능, 라우터를 거쳐 목적지까지 패킷 전달
- 패킷 단위
- IP, ICMP, ARP
- IP 주소 (IPv4, IPv6)

- 라우터


4계층 전송
- 신뢰성 있는 데이터 전송, 오류검사 및 복구, 흐름제어, 혼잡제어
- 포트 번호 사용

- 세그먼트, 데이터그램
- TCP, UDP
- 포트 주소 (16 비트)


5계층 세션
- 양 끝단 응용 프로세스간 연결 설정, 유지, 종료
- 데이터 전송에 대한 세션 관리
- TLS, SSL


6계층 표현
- 데이터 표현 형식 정의 (압축, 암호화, 인코딩 ...)
- JPEG, MPEG, ASCLL


7계층 응용
- 응용 프로그램과 직접적 상호작용
- 메시지 단위
- HTTP, FTP, SMTP, SNMP ...

 

 

TCP/IP 모델

1. 네트워크 접속 ( 링크 ) 계층
- 물리적인 네트워크 연결, 데이터 전송
- 이더넷, 와이파이, 블루투스
- 프레임 단위 전송

2. 인터넷 계층
- 인터넷 프로토콜IP를 이용해 다른 네트워크로 데이터 전송
- 라우팅, 흐름제어, 에러 복구
- 패킷 단위 전송

3. 전송 계층
- TCP(HTTP, SSH, DNS), UDP(DNS)
- 에러 복구, 흐름 제어, 혼잡 제어
- 세그먼트 단위 전송

4. 응용 계층
- 사용자-컴퓨터간 상호작용 인터페이스 제공
- HTTP, FTP, SMTP
- 메시지 단위 전송

 

정리

OSI 7계층 TCP/IP 4계층
전송 응용
표현
세션
전송 전송
네트워크 인터넷
데이터링크 네트워크 접속 (링크)
물리

 

+ 3계층의 프로토콜 위치

ICMP, IGMP↓
IP
ARP ↓

=> ICMP, IGMP는 라우팅 기능이 없어 IP를 거쳐 1-2계층으로 나간다

ARP는 IP를 거치지 않으므로, 인증 기능이 없어 보안상으로 취약하다

 

캡슐화

- 상위 계층에서 하위 계층으로 데이터를 전송할 때, 상위 계층에서 필요한 정보를 추가하여 데이터를 헤더로 감싸는 과정

헤더와 트레일러라는 제어 정보를 추가한다. 헤더는 데이터 전송시 필요한 제어 정보를, 트레일러는 데이터 전송의 끝을 알리는 제어 정보를 포함한다

( ex) TCP/IP 프로토콜은 패킷으로 캡슐화하여 IP주소와 포트 번호 정보를 추가한다 )

디캡슐화

- 하위 계층에서 상위 계층으로 데이터를 전송하면서 각 계층에 필요한 정보를 추출하여 헤더를 벗겨내는 과정

헤더와 트레일러를 각 계층에 맞게 추출한다

 

응용 계층 :        Data
=> 표현:            L6Header + Data(L7Data)
=> 세션:            L5Header + Data(L6Header + Data)
=> 전송:            L4Header + Data(L5Header + Data)
=> 네트워크:     L3Header + Data(L4Header + Data)
=> 데이터링크: L2Header + Data(L3Header + Data)
=> 물리:            Bit로 변경되어 상대방에게 전송

 

PDU를 클릭하여 PC1, PC2를 찝어서 실행

PC1 -> 스위치 -> PC2
PC2 -> 스위치 -> PC1

=> 모두에게 브로드캐스트 했던 허브와 달리,

PDU가 PC1과 PC2 사이에서만 왔다갔다 하고 있다

 

메시지를 클릭해보면 OSI 계층과 PDU 정보를 볼 수 있다 (ICMP는 3계층)

 

ping 테스트 : Echo Request ICMP 타입 8
ping 테스트 : Echo Reply ICMP 응답 타입 0

 

데이터 전송 방식
- 브로드캐스트 : 모든 호스트에게 전송
- 멀티캐스트 : 1:N 그룹에게 전송
- 유니캐스트 : 1:1 전송

BUM 트래픽
- 특정 종류의 네트워크 트래픽을 나타내는 용어
- 브로드캐스트, 알려지지 않은 유니캐스트, 멀티캐스트

 

알려지지 않은 유니캐스트
- 스위치가 MAC 주소 테이블에 목적지 주소를 찾을 수 없을 때
- 목적지 주소에 대한 정보가 스위치에 캐시되어 있지 않기 때문
- 스위치는 데이터를 모든 포트로 전송한다

 

IPv4의 MAC 주소 (대소문자 구분X)
- 네트워크 장비
ex) Physical Address................: 0050.0F8A.1234
- 윈도우
ex) 물리적 주소 . . . . . . . . : 00-34-56-C0-01-02
- 리눅스
ex) aa:bb:cc:dd:ee:ff

( ipconfig /all 또는 리눅스의 경우 ifconfig 명령어를 통해 얻을 수 있다 )

 

C:\> arp -a

Internet Address Physical Address Type

192.168.1.2   0003.e4c1.0000   dynamic

192.168.1.3   0040.0b19.0000   dynamic

192.168.1.4   0060.4705.0000   dynamic

=> ping 테스트를 한 후 arp 테이블을 확인하니 mac 주소가 들어가 있다

 

스위치의 CLI 에서 명령어 연습

스위치의 기능
- 주소 학습 : 프레임 정보를 보고 MAC 주소 테이블에 저장
- Flooding : 들어온 포트를 빼고 모든 포트로 전송
- Forwarding : MAC 주소가 있는 포트로 프레임 전송
- Filtering : MAC 주소가 있는 포트로 프레임 전송하고 나머지 포트는 막는다
- Aging : 5분동안 통신이 없을시 MAC 테이블에서 주소 삭제

 

이더넷 프레임
- Preamble : 2계층 헤더의 시작을 알리는 역할
- DA : 목적지 MAC 주소
- SA : 출발지 MAC 주소
- Type : 상위 계층 프로토콜 코드 값
- Payload : 상위 계층에서 내려온 데이터
- FCS : Preamble를 제외한 유효 mac 프레임 비트열 오류 검사

 

상대방의 IP주소는 알지만, MAC 주소는 모를 때
이더넷의 DA 목적지 주소 필드를 채울 수 없기 때문에
이 때 ARP 프로토콜을 사용하여 MAC 주소를 알아온다

 

실습)

시뮬레이션에서 Edit Filters에 arp와 icmp 체크

pc1의 스위치에서 관리자 권한으로 clear mac-address-table 테이블을 날린다

pc1와 pc2의 프롬프트에서 arp -d로 테이블을 날린다

pc1에서 pc2로 ping 테스트를 날린다

 

ARP 헤더
- Hardware Type
- Protocol Type
- Hardware Length
- Protocol Length
- OPcode
- Sender Hardware Address
- Sender Protocol Address
- Target Hardware Address
- Target Protocol Address

 

왼쪽은 Echo request, 오른쪽은 ARP 프로토콜

 

ARP 쪽을 클릭해서 패킷을 뜯어보면 타겟을 모르므로 비어있다
플러딩 기능으로 스위치가 뿌리면 PC2만 받음
포워딩 기능으로 mac 주소가 있는 포트에만 보내고, 필터링 기능으로 응답을 PC1에만 보내고 나머지는 막는다

 

이후부터는 arp 프로토콜 없이 icmp 메시지만 왕복하게 된다 (arp 테이블에 기록되었으므로)

 

C:\>arp -a

Internet Address Physical Address Type

192.168.1.2      0003.e4c1.0000       dynamic

=> 과정이 끝나고 arp -a 해보면 기록되어 있음

 

스위치 설정
en : 관리자로 변경 (enable)
conf t : 설정모드로 변경 (configure terminal)

exit : 설정모드에서 밖으로 나감
int fa0/1 : fa0/1 을 선택함

? : 간략한 명령어 도움말


표기
Switch> 일반유저
Switch# 관리자모드

Switch(config)# 설정모드

 

 

 

 

아래 명령어는 다음시간에...

spanning-tree portfast : spanning-tree 비활성화

no ip domain-lookup: 도메인 주소 찾는 과정을 없애는 명령어

'네트워크' 카테고리의 다른 글

네트워크1 4차시  (0) 2024.06.09
네트워크1 3차시  (0) 2024.06.08
네트워크1 1차시  (0) 2024.06.01
네트워크 기초 7~8  (0) 2024.03.06
네트워크 기초 4~6  (0) 2024.03.05