NetWork
Network
- 여러 PC가 통신하기 위한 망
ARPA(the Advanced Research Project Agency)
- 최초의 네트워크
- 컴퓨터들을 찾고 도와주는 시스템
IMPS(Interface Message Processors)
- 장치에 대한 메세지를 뿌려주는 프로그램
- ICMP 인터넷 protocol로 발전
IEEE
- 미국 전기 전자 엔지니어링 협회(표준)
- IEE 802.11
- 무선
- IEE 802.3
- 물리적 매체
RFC
- 인터넷 표준 문서
전자 통신의 통신 방식
- Full-Duplex (전이중) 통신
- 동시에 양방향 전송이 가능한 방식
- 전송량 많음
- 전송 매체의 용량 큼
- ex) 전화
- Half-Duplex (반이중) 통신
- 양방향 전송이 가능하지만 동시에 양쪽 방향에서 전송할 수 없는 방식
- ex) 무전기
- Simplex (단방향) 통신
- 한쪽 방향으로만 전송이 가능한 방식
- 일방적인 송신 또는 수신만 가능
- ex) 라디오, TV
Protocol
Protocol
- 통신 규약
- 통신하기 위한 방법
TCP(Transmission Control Protocol)
- 질의응답 YES
- 확인 응답 YES
- 속도 ↓
- 신뢰성 protocol
- 상호 통신 (양방향 통신)
- 연결 지향
- 연결 설정 → 연결 유지 → 연결 종료
- 3 Way Handshaking 통신
- 서버와 클라이언트 구조의 명령 전달 서비스 및 프로그램
- 확인해서 정확하게 데이터를 주고 받아야하는 경우 사용
- 장거리, 많은 양의 데이터 전송 시 사용
- 채팅, 원격 접속, 서비스 공유 등
- 순서번호 → 조각화 (Fragmentation) → 재조립 (Reassembly) → 유실 → 재전송/오류 → 순서대로 조립/재전송
- TCP/IP header : 6
TCP Flags
- SYN(Synchronization)
- 시퀀스 번호 전송, 연결 요청
- ACK(Acknowledgement)
- 응답
- RST(Reset)
- 재시작
- PSH(Push)
- 지연된 내용 우선 처리
- URG(Urgent)
- 긴급 패킷
- FIN(Finish)
- 종료
3 Way Handshake
- TCP 연결 과정
- 서로 질의 응답 확인
4 Way Handshake
- TCP 연결 해제 과정
- 서로 질의 응답 확인
UDP(User Datagram Protocol)
- 질의 응답 NO
- 확인 응답 NO
- 속도 ↑
- 비신뢰성 protocol
- 일방 통신 (단방향 통신)
- 끊기면 안되는 스트림 통신이거나 속도가 중요한 경우 사용
- 실질적인 동기화가 필요한 동영상 스트리밍, 프로세스, 토렌토 등
- TCP/IP header : 17
TCP/IP 4 Layer & OSI 7 Layer
Encapsulation | TCP/IP Layer | OSI 7 Layer | PDU( Protocol Data Unit) | Decapsulation |
---|---|---|---|---|
⬇ | 7 application(응용)계층 | data | ⬆ | |
⬇ | 4 Appplication 계층(TCP/IP) - 데이터 생성 | 6 presentation(표현)계층 | data | ⬆ |
⬇ | 5 session(연결)계층 | data | ⬆ | |
⬇ | 3 transport 계층(TCP/IP) - 데이터 전송(실제 통신 구간) | 4 transport(전송)계층 | segment | ⬆ |
⬇ | 2 internet 계층(TCP/IP) | 3 network(통신)계층 | packet | ⬆ |
⬇ | 1 network interface 계층(TCP/IP) | 2 data-link(물리주소)계층 | frame | ⬆ |
⬇ | 1 physical(물리)계층 | bit | ⬆ |
OSI 7 Layer (Open System Interconnect)
7 application (응용) 계층
- 응용 프로그램
- 사용자에게 편리한 인터페이스를 제공하는 기능
- TUI → GUI
- PDU (Protocol Data Unit) : data
6 presentation (표현) 계층
- 프로그램 표현 (확장자) 결정
- jpg, mp4, zip
- SSL (암호화) 이루어짐
- 포맷, 압축, 암호화, 인코딩
- PDU (Protocol Data Unit) : data
5 session (연결) 계층
- protocol 제어 서비스
- 시작, 종료, 정지
- 서비스 연결 흐름 제어
- 상대방 PC와 연결시켜주는 service
- PDU (Protocol Data Unit) : data
4 transport (전송) 계층
- 전송에 대한 결정
- 통신 방법 결정
- TCP : 63555개 / UDP : 63555개
- PDU (Protocol Data Unit) : segment
3 network (통신) 계층
- 컴퓨터가 통신할 수 있도록 주소 설정
- 서로 다른 네트워크를 연결
- 논리적 주소 체계/통신
- 논리적 연결 → 주소 광고/학습 → 최적의 경로 연산
- Check Sum
- 오류 체크
- TCP 필수 사용
- 오류 발생 → 재전송 = establish
- UDP 옵션 사용
- 오류 발생 → 다음 동작 x
- 3계층 장비 : Router
- Gateway를 통해서 서로 다른 네트워크를 연결해주는 네트워크 장비
- 각 네트워크 당 1개의 IP설정 가능
- 여러 개의 네트워크 대역 IP 소지 가능
- Gateway 존재
- 다른 네트워크와 통신하기 위한 통로 주소
- 네트워크 내부 주소를 Router IP에 설정
- Gateway가 없으면 다른 네트워크 통신 불가
- Gateway의 구조
- x.x.x.0
- Net IP (start) Gateway 미사용
- x.x.x.1
- DHCP (Dynamic Host Control Protocol)
- 공유기 설정
- KT/SKT 등 통신사 선점
- Gateway 미사용
- x.x.x.2
- NAT(VMware, 가상화)
- x.x.x.3~253
- Host 할당 (사용자 임의)
- x.x.x.254
- 공유기 Gateway로 자주 사용
- x.x.x.255
- BroadCast (END)
- Gateway 미사용
- x.x.x.0
- 대표적인 Protocol
- ICMP (Internet Control Message Protocol)
- 인터넷 제어 메세지
- 인터넷에 대한 흐름을 메세지 형태로 출력
- 대표 명령어
1
ping
- IP (Internet Protocol)
- PC 간 연결을 하기 위한 통신 규약 (인터넷 규약)
- 인터넷 상에 있는 컴퓨터 고유의 주소
- 인터넷 상의 한 컴퓨터에서 다른 컴퓨터로 데이터 주고 받기 가능
- 논리적 주소
- Network-ID 부분은 변경 불가
- Host-ID 부분은 변경 가능
- ARP (Address Resolution Protocol)
- 주소 결정 protocol
- 네트워크 상에서 ip주소를 물리적 네트워크 주소로 대응 시키기 위해 사용
- ARP
- 논리적 주소 → 물리적 주소 변환
- RARP
- 물리적 주소 → 논리적 주소 변환
- ICMP (Internet Control Message Protocol)
- TCP / IP header : 1
- PDU (Protocol Data Unit) : packet
2 data-link (물리주소) 계층
- SW와 HW를 연결
- 물리적 주소 체계 / 통신
- HW주소 (MAC 주소)관리 및 저장
- MAC 주소를 통한 통신 인터페이스 연결
- MAC 주소 (Media Access Control)
- 장치 접근하기 위한 접근 제어 주소
- 물리적 주소
- 네트워크 인터페이스의 고유 식별 주소
- 처음부터 부여된 주소로 변경 불가
- 동일 network 안에서 host 식별자
- 통신에 대한 충돌방지
- 장치 우선 순위 지정하는 기준 값
- 00-00-00-00-00-00 형식
- 제조 고유 번호 (OUI조직 식별자) - 실제 주소 (제품 ID)
- 16진수로 표현
- MAC 주소 확인 명령어
1
show mac_address table
- Collision Domain을 처리
- Duplex 조정 가능
- 다차선 통신 가능(half / full)
- CRC 알고리즘을 이용한 FCS (오류검사)
- CRC(Cyclic Redundancy Check)
- 오류 검사
- 신뢰성 검사
- CRC(Cyclic Redundancy Check)
- 2계층 장비 : Switch
- 2계층 MAC 주소 관리 장치
- 같은 네트워크를 연결해주는 장비
- 여러대의 PC를 연결할 때 Switch 사용하면 충돌 방지, 교통 정리 효과
- L2 Switch 특징
- Hub 확장 version
- 전송 중 패킷 충돌 방지 하기 위해 패킷의 목적지로 지정할 port를 직접 전송
- 1 : 1 연결
- 기본 Switch
- L3 Switch
- L2 Switch 확장
- 라우팅 기능 추가
- IP 학습 가능
- L4 Switch
- L3 Switch 확장
- TCP/UDP 제어 스위치
- TCP/IP protocol 기반 동작
- 가상 LAN, 그룹화, 부하 분산 기능 제공
- Switch의 기능
- Flooding(넘치다)
- 연결된 Port 전부 다 질의(Broadcast), 들어온 port를 제외하고 모든 port에 전송
- Learning(배우다)
- Switch Port에서 받은 수신지와 도착지의 Mac주소를 table에 저장
- Filtering(거르다)
- 배운 Mac주소 상의 경로일 때 경로 외 다른 경로 차단
- Fowarding(보내다)
- 배운 Mac주소대로 패킷을 전송, Mac주소에 일치하는 목적지일 경우 전송
- Aging(일정시간 후 삭제)
- 배운 Mac-Table 일정시간 후 자동 삭제, 일정시간 동안 통신 안될 시 자동 삭제
- Flooding(넘치다)
- Switch 기법
- store and forward
- 처음부터 끝까지 검사 후 전송
- cut-trough
- 출발지 = 목적지만 확인 후 바로 전송
- fragment free store and forward
- 64bit까지 검사 후 전송 (cut-trough)
- store and forward
- PDU (Protocol Data Unit) : frame
1 physical (물리) 계층
- Cable (1계층 장비) 을 통해 인터페이스 통신 및 데이터 전송
- HUB,Repeater를 통해 PC들의 통신 확장
- 1 계층 장비 : Cable, HUB, Repeater
- Cable (UTP / STP)
- 1계층 장비
- PC와 장비 간의 연결
- LAN 연결 시 사용
- UTP (Unshielded Twisted Pair)
- Direct Cable (T568B-T568B)
- 다른 계층 장비끼리 연결할 때 사용
- Router ↔️ Switch
- Cross Cable (T568A-T568B)
- 같은 계층 장비끼리 연결할 때 사용
- Hub ↔️ Hub
- T568B 규격
- 주띠(RD+) 주(RD-) 초띠(TD+) 파 파띠 초(TD-) 갈띠 갈
- T568A 규격
- 초띠(TD+) 초(TD-) 주띠(RD+) 파 파띠 </span> 주(RD-) 갈띠 갈
- RD (Receive Data)
- TD (Transmit Data)
- Direct Cable (T568B-T568B)
- HUB, Repeater
- 통신 확장 기능을 가진 1계층 장비
- 여러 대의 PC를 연결해서 하나의 IP로 나오게 함
- Cable (UTP / STP)
- Simplex (단방향) 통신
- 송신지와 수신지가 한번에 전송하면 충돌 발생
- PDU (Protocol Data Unit) : bit
Encapsulation & Decapsulation
Encapsulation (캡슐화)
- 상위 계층에서 하위 계층으로 이동하면서 각 계층의 기능들을 데이터에 담아서 합치는 방식
- 패킷 압축 = 전송
Decapsulation (캡슐화 해제)
- 수신한 데이터를 하위 계층에서 상위계층으로 올라갈 때 각 계층의 헤더를 풀면서 올라가는 방식
- 패킷 압축 해제 = 수신
Port
Port
- 서비스마다 구분시켜주는 값
- 직접 데이터를 전달
- 서비스를 정의한 전용 통신 회선
- 2^16 = 65535개 (UDP/TCP 각각)
- Port 0~255
- 공공의 목적으로 사용하는 port
- http = 80, ftp = 20/21
- Well Known Port (IANA관리)
- 정해진 port, 절대적, 자주 쓰는 서비스로 예약된 주소
- Port 256~1023
- 상용 목적 port
- ssl = 443
- 넷스케이프가 만든 웹보안 → TLS, https
- Well Known Port (IANA관리) : 정해진 port, 절대적, 자주 쓰는 서비스로 예약된 주소
- Port 1024~4915
- 충돌 방지 위해 등록된 port
- 응용 프로그램의 네트워크 통신을 위해 할당된 주소
- Registered Port
- Port 4916~65535
- 임의 port
- 동적 port (Dynamic port)
- 개발자 임의대로 사용 가능한 주소
중요 Port
Port Number | Protocol | Description | TCP/UDP |
---|---|---|---|
20 | FTP | 실제 Data 전송 | TCP |
21 | FTP | 인증, 명령어 인식, 프로그램 제어 작업 | TCP |
22 | SSH | 원격 통신, 암호화 | TCP |
23 | Telnet | 평문 통신, 원격 통신, 보안성 ⬇ | TCP |
25 | SMTP | 메일 전송(송신)용 | TCP |
53 | DNS | IP 주소를 도메인으로 변환 | TCP/UDP |
67 | DHCP | IP 주소를 동적으로 할당 | UDP |
68 | DHCP | IP 주소를 동적으로 할당 | UDP |
69 | TFTP | Router 전용 FTP, 단순한 파일 전송 | UDP |
80 | HTTP | 웹서비스 제공 | TCP/UDP |
110 | POP3 | 메일 수신, 클라이언트에 메세지 저장 | TCP |
138 | NetBios | 윈도우에 대한 네트워크, 윈도우에서 파일 공유 | TCP |
143 | IMAP | 메일 수신, 서버에 메세지 저장, 보안성 ⬇ | TCP |
161 | SNMP | 실제 장치 검색, 네트워크 정보 관리 / 모니터링 | UDP |
443 | HTTPS | HTTP over SSL, 암호화 전송 | TCP |