My Melody Is Cute 네트워크
본문 바로가기

개발공부🌷/Web

네트워크

네트워크를 만드는 기술

TCP/IP 기본

연결된 네트워크 LAN이 모여 세계의 네트워크 WAN이 구성

인터네트워킹 : 여러 네트워크를 연결하는 것

프로토콜 : 공통된 약속 , 일관된 네트워크 언어

TCP / IP

인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약의 모음

IP : 인터넷의 주소체계

TCP/IP에서는 IP address를 사용

MAC주소 : 제조사에서 할당하는 고유 시리얼, 이더넷에서 송수신상대를 특정하고자 사용(데이터프레임식별),물리적식별자

 

같은 LAN에 속한 기기끼리 통신할때 상대방의 MAC주소를 파악하는 과정이 있다

이때 ARP를 사용한다 패킷을 보내고 해당 IP를가지고 있는 컴퓨터가 자신의 MAC주소를 response하게 됨으로써

통신할 수 있게 해주는 프로토콜

 

패킷

회선교환 (음성전화시스템,일대일로 교환)

패킷교환(원본 데이터를 패킷단위로 나누고 여러 회선을 공용해 통신을 주고받음)

 

IP주소 구조

 

서브넷마스크 : 네크워크부가 어디까지인지 나타내는것

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

 

IP주소는 네트워크부(어떤네크워크인지)와 호스트부(네트워크안의 특정컴퓨터지칭)로 나뉜다

IP주소는 주어지는게 아니라 호스트부를 변경해 가면서 할당되는것이다

시작(0)과 끝(255)를 제외한 254개 주소만 할당이 가능한 IP주소

IP프로토콜의 한계

-비연결성(패킷을 받을 대상이 없거나 서비스불능상태여도 파악불가능하여 그대로 전송한다

-비신뢰성

 

더보기
  1. IP 주소(IP Address):
    • IP 주소는 인터넷에서 컴퓨터, 장치 또는 네트워크를 식별하는 고유한 숫자 주소입니다. 이것은 인터넷 프로토콜 주소의 약어로 "IP"입니다. IP 주소는 네트워크의 각 장치에 할당되며, 데이터 패킷이 목적지로 전송될 때 해당 장치를 식별하는 데 사용됩니다. IPv4(IP 버전 4) 및 IPv6(IP 버전 6)과 같이 다양한 IP 주소 형식이 있습니다.
  2. IP 프로토콜(IP Protocol):
    • IP 프로토콜은 "인터넷 프로토콜"의 약어로, 컴퓨터 및 장치 간의 데이터 통신을 관리하고 라우팅하는 데 사용되는 통신 프로토콜입니다. IP 프로토콜은 데이터 패킷을 보내고 받는 데 사용되며, 데이터 패킷의 출발지와 목적지 IP 주소를 기반으로 데이터를 전달합니다. IP 프로토콜은 인터넷에서 데이터 통신을 가능하게 하는 핵심 프로토콜 중 하나이며, TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜 스택의 일부입니다.

요약하자면, IP 주소는 네트워크 장치를 고유하게 식별하는 숫자 주소이며, IP 프로토콜은 데이터 패킷의 라우팅과 전송을 관리하는 통신 프로토콜입니다. IP 주소는 장치의 위치를 식별하는 데 사용되며, IP 프로토콜은 데이터의 이동을 관리하는 데 사용됩니다.

TCP와 UDP

TCP와 UDP는 IP와 애플리케이션 중개하는 역할

TCP는 신뢰성 높이는 기능 (ex.웹HTTP) 

UDP는 높은 속도와 효율성

  • 애플리케이션의 정교한 제어가 가능하다: TCP의 경우 receiver가 전송받을 준비가 될 때까지 세그먼트를 반복적으로 재전송합니다. 실시간 전송에 대한 요구가 큰 애플리케이션 들은 높은 latency를 지양하므로 약간의 데이터 손실을 감수합니다. 대신 개발자 스스로가 이를 보완하기 위해 애플리케이션에 추가 기능을 구현할 수 있습니다.
  • 연결설정에 무관하다.: TCP 3-way handshake 가 없는 udp는 예비과정 없이 바로 전송을 시작합니다. 설정단계에서 발생하는 지연이 없는 만큼, 반응속도가 빠릅니다. 또한, TCP 가 신뢰성을 위해 많은 파라미터와 정보 전달이 필요함과 비교해 UDP는 연결설정 관리를 하지 않기 때문에 어떠한 파라미터도 기록하지 않습니다. 이 때문에 서버에서도 TCP와 비교에 더 많은 클라이언트를 수용이 가능합니다

PORT

포트번호는 대상 IP기기의 특정 애플리케이션을 특정하는 번호,전송계층에서 사용, 특정 프로그램이 네트워크 상에서 

데이터를 수신하고 송신할 수 있도록 특정 포트에 바인딩

URL

웹에 게시된 어떤 자원을 찾기 위한 브라우저에서 사용되는 메커니즘

HTML이나 이미지등 리소스의 위치를 특정하기 위한 서식 , 서버가 제공되는 환경에 존재하는 파일의 위치

슬래시를 이용해 서버의 폴더에 진입하거나 파일을 요청할 수 있다

scheme : 통신방식 (프로토콜) hosts : 웹서버의 이름이나 도메인,IP 주소

url-path : 지정한 루트디렉토리부터시작하여 웹페이지,이미지,동영상 등이 위치한 경로와 파일명을 나타냄

URI는 URL의 기본요소에 더해 qurery(웹서버에 보내는 추가적인 질문) bookmark를 포함 

브라우저의 검색창을 클릭하면 나타나는 주소가 URI (URL을 포함하는 상위개념)

URL은 URI다는 참 , URI는 URL이다는 거짓

 

Domain name

 

https://142.250.207.78/weather/index.html  주소를 IP주소로만 작성해서 이용한다면 기억하기 매우 어렵다

호스트이름과 도메인 이름으로 바꾸어서 기억하기 쉬운 이름 사용

도메인종류

도메인은 두종류

gTLD .com .net .org .edu .gov .int .mil .biz .name .info 전세계에서 등록 가능

ccTLD .kr .us .jp 각국 네트워크 정보센터에서 위임

DNS

사람이 이해하기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 IP주소로 변환하는 역할

 

 AJAX

웹 페이지에 필요한 부분에 필요한 데이터만 비동기적으로 받아와 브라우저에 렌더링

 

AJAX의 두가지 핵심기술

JavaScript와 DOM 

Fetch

 

AJAX 장점

서버에서 HTML을 완성해서 보내주지않아도 웹페이지를 만들 수 있다

필요한 데이터를 비동기적으로 가져와 화면의 일부만 업데이트하여 렌더링가능

브라우저에 상관없이 사용가능

유저중심 개발 AJAX를 사용하면 빠르고 더많은 상호작용이 가능

작은 대역폭

 

AJAX 단점

파일의 뼈대만 있고 데이터는 없기때문에 사이트의 정보를 긁어가기 어렵다

뒤로가기 버튼 문제 (이전상태를 기억하지않음) 구현하려면 별도로 API 사용해야함

'개발공부🌷 > Web' 카테고리의 다른 글

Java 네트워킹 API  (0) 2023.11.08
HTTP  (0) 2023.11.08
웹을 구성하는 기술  (0) 2023.11.07