TCP/IP网络基础知识
TCP/IP是一组用于实现网络互联的通信协议,通常称为TCP/IP协议族。包括TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等。
一、TCP/IP模型将协议分为了4层
- 应用层——为用户提供所需的各种服务,如FTP、Telnet、DNS、SMTP等
- 传输层——为应用层实体提供端到端的通信功能,保证数据包按序传送以及数据的完整性。TCP、UDP等
- 面向连接的传输控制协议(Transmission Controt Protocol, TCP)——可靠的、通过”三次握手“来连接的数据传输服务
- 面向无连接的用户数据报协议(Cuser Datagram Protocol, UDP)——不保证可靠的、无连接的数据传输服务
- 网际互联层——主要解决主机到主机的通信路由问题,赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。IP、IGMP、ICMP等
- 网际协议(Internet Protocol, IP)——提供一个可靠、无连接的数据报传递服务
- 互联网组管理协议(Internet Group Management Protocol, IGMP)
- 互联网控制报文协议(Internet Control Message Protocal, ICMP)
- 网络接口层——监视数据在主机和网络之间的交换[数据链路层和物理层]
- 地址解析协议(Address Resolution Protocol, ARP, 在数据链路层)

二、TCP/IP基本知识
网络主机间能够互相通信所需要共同遵守的规则就是网络协议,普遍使用TCP/IP网络协议,此外还需要正确配置IP地址、子网掩码等网络参数。
1)TCP/IP协议
TCP传输控制,是传输层的协议,它提供了可靠的数据报传输服务
IP 网际互联,是网际互联层的协议,用来提供网络中的统一编址和路由问题
2)IP地址
在Internet上,个主机通过TCP/IP协议发送和接收数据报,各个数据报根据其目的主机的IP地址来进行互联网络中的路由选择。
IP地址是互联网上网络接口的唯一标识,给网络中主机提供唯一的网络地址。IPv4是由一个32位的二进数字组成,点分十进制表示;IP地址采用两级结构,主机所属的网络+主机,网络地址表示主机的网段,同一网段中的所有主机拥有相同的网络地址,网络地址是统一分配的,目的是为了保证网络地址的全球唯一性;主机地址表示某个网段中的一个具体的网络接口,主机地址由各个网络的系统管理员分配。
IP地址分为A、B、C、D、E五类,A、B、C三类在全球范围内统一分配,D、E为特殊网址,由高位字节标示。另外还有 一种专用IP地址,这类地址只在专用网络(内网)中使用。如:10.0.0.1~10.255.255.254、172.26.0.1~172.32.255.254、192.168.0.1~192.168.255.254,我靠中心和圆山的王都在内网网段!
| 地址类型 | 高位字节 | 最高字节范围 | 网络地址位数(可支持网络数) | 主机ID位数(每个网络支持的主机数) |
| A | 0 | 1~126 | 7位(2^7-2=126) | 24位(16777214) |
| B | 10 | 128~191 | 14位(16384) | 16位(65534) |
| C | 110 | 192~223 | 21位(2097152) | 8位(254) |
3)子网与子网掩码
划分子网是指把主机地址中的一部分借用为网络地址,这样可以把一个较大的网络划分为多个较小的网络,这些较小的网络即为子网,子网是基于一组IP地址的逻辑网络。
为了确定网络地址和主机地址就必须借助子网掩码,子网掩码码是一个32为地址,其作用是用于屏蔽IP地址的一部分以区分网络地址和主机地址,指明32位IP地址中哪些位为网络地址,哪些位为主机地址。TCP/IP协议利用子网掩码判断目标主机是位于本地网络还是远程网络。A、B、C三类网络的子网掩码:
| 类别 | 二进制值 | 十进制值 |
| A | 11111111.00000000.00000000.00000000 | 255.0.0.0 |
| B | 11111111.11111111.00000000.00000000 | 255.255.0.0 |
| C | 11111111.11111111.11111111.00000000 | 255.255.255.0 |
4)端口
数据报通过IP到带目的主机后,由于多个应用程序在同一主机上运行,目的主机必须通过端口来确定应该把数据报传送给主机中哪个程序。端口号可以分为三类:
公认端口(WellKnownPorts)0~1023,它们紧密绑定(binding)于一些服务。
注册端口(RegisteredPorts)1024~49151,他们松散的banding于一些服务。许多系统处理动态端口从1024开始
动态和/或私有端口(Dynamicand/orPrivatePorts)49125~65535,理论上,不应为服务分配这些端口,但也有例外。
5)网关地址
主机的IP地址和子网掩码设置后,同一网段内的机器就可以通信了,而处于不同网段的主机则必须通过网关才能进行通信,把数据包转发给它的网关,再由网关转发到相应的网络。网关是一个网络和另一个网络间的入口地址(IP),为了实现与不同网段的主机进行通信,必须为主机设置网关地址,它一定是同网段主机或根路由器的IP地址。
6)域名
因为十进制点分不容易记忆,所以有了域名,cn为中国。
7)DNS服务器地址
解析域名包括从域名到IP地址映射的正向解析和从IP到域名映射的反向解析。DNS采用层次化的分布式数据结构,每个DNS服务器只负责其管辖区域中的主机域名和IP地址的映射表。
3、三次握手、四次挥手
TCP/IP网络基础知识的更多相关文章
- TCP/IP_网络基础知识
今天看到k8s的网络,顿感网络知识不是特别扎实,立马回头补一下Tcp-ip知识,顺便记录下学习的过程: 计算机与网络发展的7个阶段: 批处理时代(计算机按照顺序处理,50年代)->分时系统时代( ...
- TCP/IP协议栈基础知识
设计思想 把一个复杂的事物进行分层划分,使得每个部分变得相对简单 分层模型 OSI分为7层模型 tcp/ip分为四层模型 应用层(Application) 传输层(Transport) 网络层(I ...
- 【RL-TCPnet网络教程】第12章 TCP传输控制协议基础知识
第12章 TCP传输控制协议基础知识 本章节为大家讲解TCP(Transmission Control Protocol,传输控制协议),通过本章节的学习,需要大家对TCP有个基本的认识,方 ...
- Linux学习(1)- TCP/IP网络协议基础
Linux学习(1)- TCP/IP网络协议基础 一.TCP/IP 简介 学习内容 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输 ...
- (转) HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手、TCP/IP协议基础、加密学)
HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手.TCP/IP协议基础.加密学) 原文:http://blog.csdn.net/itermeng/article/detai ...
- TCP/IP协议基础(转)
转自 http://www.chinaunix.net 作者:Bernardus160 发表于:2003-12-03 17:33:15 TCP/IP协议基础 -------------------- ...
- 网络基础知识、ASP.NET 核心知识(1)*
为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...
- IP地址基础知识
IP地址基础知识 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 一 OSI/RM模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 二 TCP/IP模型 数据链路层( ...
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
随机推荐
- opencv::轮廓发现(find contour in your image)
轮廓发现(find contour) 轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法. 所以边缘提取的阈值选定会影响最终轮廓发现结果 //发现轮廓 cv::findContours( InputO ...
- boost::VS2017下编译和配置boost库
环境: win10 vs2017 v141 1.下载 boost_1_70_0.zip. 2.以管理员方式打开 3. bootstrap.bat 4.编译64位库 b2.exe stage -- ...
- epoll--IO多路复用
理解 epoll 过程 #include <stdio.h> #include <stdlib.h> #include <string.h> #include &l ...
- vue 详情跳转至列表页 实现列表页缓存
甲爸爸提了一个需求,希望公众号内的商城能够像app一样,从商品详情页跳转至列表页及其他列表页时,可以实现列表页缓存(数据不刷新.位置固定到之前点的商品的位置) 本来想着scrollBehavior应该 ...
- 关于while和do while 的个人理解
先上代码 int x=425; System.out.println("循环开始,我的初始值为:x="+x); //425 do { System.out.println(&quo ...
- Qt 表格的使用
参考 http://doc.qt.io/qt-5/qtablewidget.html http://doc.qt.io/qt-5/qtablewidgetitem.html https://blog. ...
- 从零开始把项目发布到NPM仓库中心
从零开始把项目发布到NPM仓库中心 前期准备 注册账号 https://www.npmjs.com/signup 网易邮箱注册失败,用QQ邮箱成功 使用npm 命令注册(建议使用网页): npm ad ...
- windows下Eclipse远程连接linux hadoop远程调试 经验(一)
环境 Windows 7 64bit JDK 1.6.0_45 (i586) JDK 1.7.0_51 (i586) Eclipse Kepler Eclipse -plugin-1.2.1.ja ...
- 记录一些常用的python库、软件或者网址
1.数据收集 BeautifulSoup.scrapy.selenium.requests 2.数据分析 pandas.numpy.pyDD.spacy 3.数据可视化 matplotlib.seab ...
- IoTClient开发3 - ModBusTcp协议客户端实现
前言 进过前面两章的介绍,今天开始正式的实战. 进制转换 很多朋友对于进制转换可能是在刚学计算机的时候有接触,后来做高级语言开发可能就慢慢忘记了.我们做工控开发的时候需要经常进行进制转换,这里和大家一 ...