博客
关于我
00023.06网络协议概述(IP地址、端口号、网络协议、TCP、UDP、三次握手)
阅读量:611 次
发布时间:2019-03-12

本文共 1322 字,大约阅读时间需要 4 分钟。

系列文章目录

文章目录

前言

C/S和B/S结构分别代表客户端-服务器和浏览器-服务器两种应用架构。C/S结构中,客户端是由开发者编写的程序,而B/S结构的客户端通常是通用浏览器。例如,QQ和微信属于C/S架构,而网页版的京东、淘宝则采用B/S架构。

一、网络的概念和分类

网络的概念涵盖了多个方面,包括物理连接、数据传输、设备配置等。严格来说,我们常说的"外网"实际上指的是互联网,而不是独立的局域网或企业网络。互联网是由多个网络通过路由器连接而成的全球性网络系统。

二、网络通讯的三个要素

(1)IP地址

IP地址是网络通信中最基础的地址信息,用于定位一台网络设备。每个网络设备(如电脑、手机、服务器等)都有一个唯一的IP地址,地址格式通常为四组数字,例如192.168.1.1。

(2)端口号

端口号用于区分不同的网络应用程序或服务。在TCP/IP协议中,每个端口号都是一个16位的数字,范围在0到65535之间。端口号的作用是帮助数据包在传输过程中找到正确的应用程序或服务。

(3)网络协议

网络协议是数据在网络上传输过程中确保准确到达并正确解析的关键机制。常见的网络协议包括TCP、UDP、HTTP、HTTPS、DNS等。TCP和UDP是传输层的核心协议,负责数据的可靠传输和无连接性传输。HTTP和HTTPS则是应用层的协议,用于网页数据的传输。

OSI网络模型

OSI(Open System Interconnection,开放系统互连参考模型)是国际标准化组织提出的一套网络模型,将网络功能分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每一层都有特定的功能:

  • 物理层:负责数据的物理传输,包括信号的传递和介质的连接。
  • 数据链路层:处理数据的分组和错误检测,使用MAC地址进行通信。
  • 网络层:负责网络地址的转换和路由选择,常用协议包括IP、ICMP、ARP、RARP。
  • 传输层:定义数据传输的可靠性和流量控制,常用协议包括TCP和UDP。
  • 会话层:建立和管理会话,确保不同主机之间的通信。
  • 表示层:处理数据的编码和解码,包括压缩、加密等功能。
  • 应用层:提供用户面向的网络服务,常用协议包括HTTP、FTP、DNS、SMTP等。

TCP和UDP的区别

TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)是两种常用的传输层协议,主要区别如下:

  • TCP:面向连接,提供可靠的数据传输,适用于大数据量和重要数据的传输。TCP会先进行“三次握手”建立连接,并在数据传输前进行数据校验和重传。
  • UDP:无连接,传输速度快,适用于对实时性要求高但数据可靠性要求不高的场景。UDP不会进行连接建立,也不会重传数据。

三次握手与四次挥手

TCP的可靠性是由于三次握手和四次挥手机制得以实现的。在发送数据之前,TCP协议会通过三次握手建立连接,确保双方通信准备就绪。连接断开时,需要进行四次挥手,确保所有数据都已传输并释放资源。

注意事项

IP地址、端口号、网络协议、TCP、UDP的具体实现细节将在后续文章中详细讲解。

转载地址:http://kqgxz.baihongyu.com/

你可能感兴趣的文章
nodejs-mime类型
查看>>
NodeJs——(11)控制权转移next
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
nodejs下的express安装
查看>>
nodejs与javascript中的aes加密
查看>>
nodejs中Express 路由统一设置缓存的小技巧
查看>>
nodejs中express的使用
查看>>
Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型
查看>>
Nodejs中的fs模块的使用
查看>>
NodeJS使用淘宝npm镜像站的各种姿势
查看>>
NodeJs入门知识
查看>>
nodejs包管理工具对比:npm、Yarn、cnpm、npx
查看>>
NodeJs单元测试之 API性能测试
查看>>
nodejs图片转换字节保存
查看>>
nodejs在Liunx上的部署生产方式-PM2
查看>>
nodejs基于art-template模板引擎生成
查看>>
nodejs字符与字节之间的转换
查看>>
NodeJs学习笔记001--npm换源
查看>>
NodeJs学习笔记002--npm常用命令详解
查看>>