29일차(네트워크/TCP/UDP/IP/MAC/PORT/URL/DNS)

Rina's·2023년 5월 22일

코드스테이츠

목록 보기
30/96
요약 
(192.168.1).x 네트워크부/ .x 호스트부 -> 호스트부로 아래 주소 결정

IP 주소(게이트웨이) 192.168.1.1 → 공동 현관(1은 보통 공유기, 실제 컴 2~254)
네트워크 주소 192.168.1.0 → 빌라(네트워크 전체 이름)
브로드케스트 주소192.168.1.255 → 빌라단체 우체통(모두에게 한 번에 전달)

서브넷 마스크 255.255.255.0 -> 회선 종류(한칸이 8비트 3옥텟은 24비트)

MAC: 기기 고유값(고정), IP: 네트워크 위치(유동)
LAN 통신: IP → ARP 통해 MAC 찾음(매핑 저장: ARP 캐시), 이후 MAC기반 유니캐스트로 통신
URL, PORT, DNS, Domain...

🐡네이티브 애플리케이션/ 웹 애플리케이션

네이티브 애플리케이션

설치해서 사용하는 애플리케이션

웹애플리케이션 보다 빠르고 안전하다
기기 내 접근이 용이하다

빠른 업데이트가 힘들다
개발비가 더 들어간다
스토어의 승인이 필요하며 비용이 든다

웹 애플리케이션

웹을 통해 접근이 가능한 프로그램

추가적인 다운로드가 필요없다
업데이트 등의 유지관리가 쉽다
네이티브에 비해 만들기가 쉽다
스토어의 승인이 필요없다

인터넷 연결이 필요하다
네이티브에 비해 속도가 느리다
스토어에서 관리되지 않기 때문에 접근성이 떨어진다
보안상 위험노출에 쉽다

인터네트워킹(internetworking)

LAN(Local), WAN(Wide)과 같은 여러 네트워크를 연결한 것. 전 세계적으로 인터네트워킹하면 인터넷이 된다

🌸TCP/IP

전송 제어 규약/인터넷 규약
Transmission Control Protocol/Internet Protocol

프로토콜(protocol)
인터넷 통신규약
표적인 프로토콜 : TCP/IP HTTP

🐟IP주소

클라이언트 식별을 위한 주소
Private IP주소 : LAN 네트워크 내부에서 사용
Public IP주소 : 인터넷에서 사용

IPv4(version 4, IP 주소체계의 네 번째 버전)
OOO.OOO.OOO.OOO의 형식(4개의 8비트 필드(옥텟), 각 1바이트)
네트워크부(네트워크를 지징)와 호스트부(특정 컴퓨터 지징)로 구성

IP 주소: 192.168.1.1
서브넷 마스크: 255.255.255.0
네트워크 주소: 192.168.1.0
브로드캐스트 주소: 192.168.1.255

IP 주소: 192.168.1.1
호스트부를 변경해 가면서 할당
0과 255를 제외한 254개의 주소로 할당

네트워크 주소: 192.168.1.0
호스트가 0으로만 구성

브로드캐스트 주소: 192.168.1.255
호스트가 1로만 구성
IPv4 주소에서 255는 모든 비트가 1로 설정된 값을 나타냄
8비트 11111111를 10진수로 바꾸면 255

서브넷 마스크: 255.255.255.0
IPv4 주소에서 네트워크부가 어디까지인지 나타내는 것
위의 서브넷은 1~3옥텟을 네트워크부로 사용하는 서브넷마스크

localhost, 127.0.0.1 : 사용 중인 로컬 PC를 지칭한다. 서버가 로컬 환경에서 실행중이면 해당 주소로 접속이 가능하다
0.0.0.0, 255.255.255.255 : broadcast address
로컬 네트워크에 접속된 모든 장치와 소통하는 주소. 서버에서 접근 가능 IP 주소를 broadcast address로 지정하면, 모든 기기가 접근가능.

터미널 명령어 nslookup DNS 로 확인 할 수 있다

🐟MAC 주소

제조사에서 할당하는 고유 시리얼, IP주소와 함께 사용
로컬 네트워크에서 장치들을 식별(같은 IP라도 MAC 주소로 식별 가능

ARP : IP 주소와 MAC 주소 간의 매핑을 수행

LAN 내 통신 과정

  1. ARP 요청(브로드캐스트를 통해 네트워크 전체에 패킷을 송신)
  2. ARP 응답(요청에 대해 송신 IP를 확인하여 MAC주소를 Response)

패킷

회선 교환(Circuit Switching) : 1대1 교환방식으로 음성전화에 주로 사용
패킷 교환(Packet Switching) : 데이터를 송수신 정보가 저장된 패킷단위로 만들어 여러 회선을 공용해 전달

IP프로토콜의 비연결성(직접적인 통신 경로 부재)과 비신뢰성(손실, 변형)을 극복하기 위해 TCP와 UDP가 사용

🌸TCP/UDP

TCP와 UDP는 2계층의 IP와 4계층의 애플리케이션(http, DNS..)을 중개

TCP

연결지향적 프로토콜, 데이터 신뢰성. HTTP는 제대로된 송수신이 중요함으로 TCP사용
TCP 3-way handshake 방식(요청과 응답)

UDP

데이타그램 지향적 프로토콜, 빠른속도와 실시간 통신
애플리케이션의 정교한 제어가 가능
예비과정 없이 바로 전송을 시작(지연이 없고 반응속도가 빠름)

보통 빠른 로딩을 위해 비디오 스트리밍은 UDP를 쓴다
(그렇지만 넷플릭스는 비디오 품질을 위해 TCP를 사용한다 카더라)
DNS도 다중접속 커버와 타 앱과의 충돌을 방지(대역폭을 줄이기)하기 위해 빠른 UDP를 사용

🐠PORT

동일 IP기기내 특정 애플리케이션을 식별하는 번호

0~1023(Well-known, sys)
1024~49151(Registered, sudo)
49152~6535(Dynamic, 임시)

Well-known도 필요하면 사용은 가능
but 자주 사용되는 Well-known는 피하도록 하자

HTTP: 80 HTTPS: 443 FTP: 21
SSH: 22 SMTP: 25 DNS: 53 POP3: 110
IMAP: 143 NTP : 123 Telnet: 23

🐠URL

Uniform Resource Locator(통합 자원 식별자)
URI(Identifier) URL에 더해 query, bookmark를 포함(일반적 지칭)

http:// www.google.com:80 /search ?q=Java #q2
schemehost ㅤㅤㅤpath(port) query hash fragment

scheme: http, https, ssh, git
host: google.com, localhost, 192.168.1.1
subdomain: www, mail, blog
path: search, about.html, blog/entries/2/big-day
query string: q=puppies&ref=mobile&page=4
hash fragment: q2, FAQ, /progfile/edit

통신방식(프로토콜) : http(s)
hosts : 웹서버이름, 도메인, IP
url-path : 경로, 파일 명
query: 추가적인 질문(매개변수), 여러개이면 &로 구분

  • origin을 구분하는 기준: scheme host path(prort) 까지

🐠Domain

네트워크의 고유한 식별자, IP 주소와 대응되는 주소 체계

탑레벨 도메인(TLD)

맨 우측, 국가코드나 일반 상용 도메인

도메인 이름

도메인의 주요 식별자. 메인이 되는 이름.

서브도메인

맨 좌측, 필요에 따라 추가적인 하위 부분으로 구성. 특정 서비스, 지리적 위치 등
m 모바일, www 웹서비스, store 스토어

루트 도메인(Root Domain) 서브도메인이 붙지 않은 도메인 이름. 도메인 공급업체로부터 구매할 수 있는 이름

blog.example.com

서브도메인: blog
도메인 이름: example
탑레벨 도메인: com
루트 도메인: example.com

gTLD(generic Top Level Domain)
.com .net .org .edu .gov .int .mil ...

ccTLD(country code Top Level Domain)
.kr .us .jp

🐠DNS(Domain Name System)

IP와 도메인을 매칭시켜주는 서버

DNS-lookup과정
1 브라우저가 리졸버에게 URL에 대한 IP 주소를 요청
2. 캐시 파일 확인
3. 찾으면 IP 주소를 리턴
4. 찾을 수 없는 경우 루트> 탑 레벨> 권한있는 도메인 서버에 차례대로 쿼리를 진행
5. 찾으면 IP 주소를 캐시로 기록하고 리턴

profile
갭린이 리나

0개의 댓글