개발의변화
인터넷 정리 본문
인터넷
- 유닉스 운영체제를 기반으로 여러 개의 네트워크들이 서로 유기적으로 결합되어 있는 하나의 거대한 네트워크
- TCP/IP 프로토콜을 사용하여 상호 접속하는 네트워크
- 클라이언트/서버 형태의 시스템을 기반으로 한다
- 인터넷 기술에 있어 인트라넷과 엑스트라넷 역시 TCP/IP 프로토콜을 사용한다.
인터넷 접속 방식
- SLIP(Serial Line Internet Protocol): PPP에 비해 오류 검출, 압축 기능과 링크 설정/절단 기능이 없고 IP 이오의 프로토콜에 대응되어 있지 않는 등의 문제점, 현재 PPP가 주류
- PPP(Point-to-Point-Protocol): 두 대의 컴퓨터가 직렬 인터페이스를 이용하여 통신을 할 떄 필요한 프로토콜, 특히 전화회선 통해 PC에 자주 사용된다. 또한 전이중 통신 프로토콜로서 twisted pair나 광테이블 또는 위성통신 등 다양하 물리 매체 사용, 비동기식 통신 뿐 아니라 동기식 통신까지도 처리할 수 있고 회선을 공유할 수 있다.
- ADSL(Asymmetric Digital Subscriber Line)을 이용한 인터넷 접속
다운로드 속도가 업로드 속도보다 빠른 전화선을 이용한 비대칭 디지털 가입자 회선으로 전화국과 각 가정이 1:1로 연결되어 데이터 통신과 일반 전화를 동시에 이용할 수 있는 통신 기술
신호의 분리를 위하여 스플리터라는 장치를 사용한다.
TCP/IP
TCP/IP/UDP/ICMP/ARP/RARP 프로토콜 모두 포함
네트워크 계층: ICMP,IGMP,IP,ARP,RARP
전송 계층: TCP, UDP
세션,표현,응용: FTP,HTTP,telnet,SMTP, NFS,TFTP,SNMP
TCP(Transmission Control Protocol)
신뢰성, 연결지향형 프로토콜
오류제어(Error Control): 체크섬(Checksum), Go-Back-N ARQ, Selective-Repeat ARQ
흐름제어(Flow Control): 슬라이딩 윈도우(sliding window)제어방식을 사용하여 전송속도를 조절
혼잡제어(Congestion Control): 네트워크 혼잡 정도에 따라 데이터 전송량을 조절
연결제어(Connection Control): 가상회선 방식으로, 연결의 설정(3-way handshaking), 데이터 송수신, 해제(4-way-handshaking) 과정이 존재
분할(Segmentation) 및 재조합(Reaseembly): 전송 가능한 크기 (세그먼트)로 분할하여 전송하고 수신측에서 재조합하여 완성
순서제어(Sequence Control): 데이터 전송 순서 보장
출발지 포트: 출발지 호스트의 포트 번호
목적지 포트: 목적지 호스트의 포트 번호
순서 번호: 전송하려는 자료를 여러 개의 세그먼트로 나눈 후 부여한 일련번호
확인 응답 번호: 송신측이 수신측으로부터 받기를 기대하는 바이트번호
헤더길이: 첫 필드부터 '선택사항' 필드까지 길이
제어플래그: 6bit, 세그먼트 흐름 및 동작을 제어하는 필드
- URG: 1bit로, 긴급 상황이 발생했을 경우
- ACK: 1bit로, 데이터가 제대로 전송된 것
- PSH: 1bit로, 버퍼가 다 차지 않더라도 값이 1이면 바로 보낸다
- RST: 1bit로, 재설정을 요구하는 플래그
- SYN: 연결 설정 요구를 나타내며, 연결 설정 단계나 재설정 단계에서만 사용
- FIN: 한 방향의 연결 해제를 요구하는 것으로 연결 해제 단계에서만 사용
UDP
전송 계층의 프로토콜로 신뢰성 보다는 빠른 속도나 저비용의 전송
멀티캐스트, 브로드캐스트, 인터넷방송,DNS 서버
길이: 사용자 데이터그램(헤더 + 데이터) 전체길이
체크섬: 헤더와 데이터 오류 검사
IP
- 통신망에서 패킷이 목적지까지 찾아갈 수 있도록 데이터그램을 기반으로 비신뢰성, 비연결성 서비스를 제공하며 OSI모델의 네트워크 계층에 해당된다.
- 망 연결이 IP Address에 의해 이루어지므로 목적지 IP Address를 반드시 알아야 한다.
- 패킷의 분해 및 조립, 주소지정, 경로선택 기능 제공
- 한 대의 컴퓨터가 동시에 여러 개의 주소를 사용
SNMP: UDP 상에 정의된 응용 계층
ARP: 네트워크상에서 IP주소를 물리적 네트워크주소(Mac Address)로 대응시키기 위해 사용되는 요청
RARP: ARP와 반대되는 기능을 수행한다. 즉 물리적인 주소에 해당하는 논리적인 주소(IP)를 찾아준다
ICMP(Internet Control Message Protocol): 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류의 처리와 전송 경로의 변경 및 파악등을 윟나 프로토콜, IP 데이터그램을 사용하지만, 메시지는 TCP/IP 소프트웨어에 의해 처리, PING 명령어는 인터넷 접속을 테스트하기 위해 ICMP 사용
IGMP(Internet Group Management Protocol)
Multicast 데이터의 수신을 원하는 Hostemfdl IGMP를 사용하여 라우터에게 요청하거나 수신 중지 요청을 할 떄 이용, 라우터는 IGMP를 통해 Multicast 그룹에 가입한 Host
DHCP(Dynamic HOst Configuration Protocol)
네트워크상에서 IP 주소를 인터넷 서비스 제공자(ISP)가 IP 주소를 관리하고 할당하며, 컴퓨터가 네트워크의 다른 장소에 접속 -> 자동으로 새로운 IP주소를 보내줄 수 있게 해준다
NAT(Network Address Translation)
사설 IP주소를 공용 IP주소로 변환하거나, 공용 IP 주소에서 다시 사설 IP주소로 변환
IPv4
IP 패킷은 크게 헤더 필드와 데이터 필드로 나누고, 옵션을 사용하지 않은 일반적인 IP 헤더의 크기는 20바이트로 가변적
버전(Version): IP 프로토콜의 버전을 의미 4비트로 설정
헤더 길이 (Header Length): 옵션 필드를 포험해 헤더의 총 길이 나타냄
전체 길이 (Total Length): 전체 길이 필드의 길이는 16비트이므로 IP패킷의 최대 크기는 2의 16승 - 1 65,535바이트
식별자(Identification): 링크의 최대 전달 유닛(MTU)보다 더 큰 데이터를 보내기 위해 여러 개의 패킷을 분할할 경우 목적지에서 재조립을 위해 사용하는 필드로 분할된 패킷들은 같은 식별자 값을 가진다.
플래그: 단편화 여부나 단편화된 필드가 몇 번째 조각인지 구분하기 위한 필드
단편화 오프셋(Fragement Offset): 패킷 재조립 시 분할된 패킷간의 순서에 대한 정보를 가진다.
TTL(Time-To-Live): 패킷이 경유할 수 있는 최대 홉 수
프로토콜: 해당 IP패킷과 관련된 상위 프로토콜 (TCP,UDP,ICMP
헤더 체크섬(Header Checksum): IP 패킷 헤더의 오류발생을 검사하기 위한 필드
IPv4 주소는 총 32비트를 8비트 단위로 나누어 각 부분을 점으로 구분된 4개의 필드를 10진수로 나타냄
루프백 주소 (127.0.0.1): 컴퓨터의 네트워크 입출력 기능을 시험하기 위하여 가상으로 할당한 인터넷 주소 , 브로드캐스트 주소: 호스트 주소의 모든 비트가 1, 네트워크 주소: 호스트 주소의 모든 비트가 '0'인 경우
사설IP: 인터넷 상에서 확인할 수 없고, 내부 네트워크에서만 사용가능한 IP
공인IP: 인터넷 상에 하나밖에 없는 IP로 그 번호 밖에 없는 유일한 것
유니캐스트(특정인에게 전송), 멀티캐스트(특정 다수인에게 전송), 브로드캐스트(불특정 다수인에게 전송)
서브네팅
관리의 효율성을 위해 하나의 큰 네트워크를 몇 개의 작은 논리적인 네트워크로 분할하여 사용하는 방식 의미 -> IP주소의 낭비 효과적 막을 수 있음
서브넷 마스크란 IP 주소를 가지고 어디까지가 네트워크 부분이고, 어디까지가 호스트 부분인가를 구분하는 역할
서브넷 마스크에서 이진수로 '1'인 부분 네트워크 '0'인 부분은 호스트를 나타내는데 이 떄 '1'은 연속적으로 나와야함
주어진 IP주소에 AND연산을 해서 나온 결과값이 서브넷의 네트워크 주소
슈퍼네팅
서브네팅의 반대 개념으로 부족한 IP를 효율적으로 사용하기 위해 여러 개의 C 클래스 주소를 묶어 하나의 네트워크로 구성하는 방식
C 클래스 네트워크 주소의 일부를 호스트 주소로 사용할 떄, 통합하고자 하는 C클래스 주소개수는 2의 지수승이어야하며 순차적인 주소를 가져야 한다.
IPv6
기본 헤더의 길이가 40바이트로 고정되었고, 패킷의 기본적인 정보와 송수신 주소 등 전송에 필수적인 정보로 구성
버전: IP 프로토콜 버전을 의미하며 6으로 설정
트래픽 클래스: IPv6 패킷의 클래스나 우선순위 나타내며 IPv4의 TOS필드와 유사한 기능 수행
플로우 레이블: 기본적으로 0으로 설정되는데 음성,화상 등의 실시간 데이터 트래픽을 나타내기 위해 0이 아닌 값으로 설정
페이로드 길이: 확장 헤더와 데이터 필드를 합하여 페이로드 -> 65,535 바이트까지 가능
다음 헤더: IPv6기본 헤더 이후에 데이터 종류 나타내는 확장 옵션 또는 상위 계층 데이터 종류 지정
홉 제한(Hop Llimit): 패킷이 경유할 수 있는 최대 라우터 홉 수
유니캐스트, 멀티캐스트, 애니캐스트: 일단의 수신자들을 묶어 하나의 그룹으로 나타낸 주소를 사용하여 그룹 내에서 가장 가까운 호스트에게만 전송