tcp/ip协议学习笔记一
一、 简述
以前在学校学习计算机网络的时候学习多是网络7层模型OSI,了解了一些基本的计算机网络概念和协议通信格式,但是一直没弄明白其中的原理,包括各层之间的关系,应用,还有一些常见的令牌环网到底是什么东西,这个OSI它和 TCP/IP协议簇到底是什么关系,为什么有很多协议一样?ip指令格式是什么样的?为什么老是忘记,记不住?3次握手,4次握手协议是什么?ack,syn等等说不清道不明字段是指什么?为什么以太网网卡通信速率有100mbps,两台主机之间的通信却只有不到120kpbs?。。。所有的这些疑云,不得不让自己再次拿起书翻阅《tcp/ip详解 协议》学习tcp/ip为什么能替代osi占领互联网,不过这次得学乖一点,得做笔记了,让自己理解更加深刻具体,同时作为自己的记录以后可以随意翻阅。
二、tcp/ip协议分层
2.1分层结构
| 应用层 | Telnet, FTP, SNMP, STMP, DNS, HTTP |
| 传输层 | TCP , UDP |
| 网络层 | IP, ICMP, IGMP |
| 链路层 | 设备驱动程序, 网络接口卡 |
应用层: 处理特定应用程序细节。
传输层:也叫运输层,为两台主机提供端到端的通信。
网络层:处理分组在网络中的活动。
链路层:也叫数据链路层,包括os中设备驱动程序和计算机网络接口卡,处理电缆等传输媒介的物理接口细节。
2.2一个局域网(Local area net -- LAN)两台主机进行ftp协议通信示例
注:1.一层只关心层内的通信细节,对其他层的细节则不关心;
2.同一层可以和同一层之间相互通信,对其他层则一无所知;
3.下一层为上一层提供服务,但是不必了解其细节。
2.3层次协议关系
2.4网络层和应用层区别
两层都是处理通信细节,为什么要分两层而不合为一层?
计算机需要处在复杂的网络环境当中,而不是只有几台主机的简单网络当中,而复杂网络环境中各网络中转设备(硬件盒,也叫IP路由器,IP Router)、传输协议、通信的主机操作系统都有可能有很大差异,再加上主机还要处理和具体应用相关细节,如果全部放到一层来处理,势必会增加网络协议复杂性,以及给开发ip路由器带来难度,而让网络传输的路由器实现某些特定应用程序的服务,也没用必要。所以分为两次是势必的。
2.5名词释义
IP路由器: IP router,Router,网络层上互连网络。
网关:Router以前也叫网关(gateway),现在网关仅表示应用层网关:连接两种不同协议的进程,如tcp/ip和ibm的sna。
端:也叫端系统(End System)网络通信中的两台主机。
中间系统:Intermediate system , 端与端之间的路由器。
多接口:一个路由器具有2个或者多个网络接口层,连接了2个或多个网络,称为多接口的;一个主机一般不称作路由器,因为它的功能不是只单纯把分组从一个接口送到另外一个接口,但是在特殊情况下是可以称作Router的,Router是针对一定的功能角色来说的,而不是对特定硬件设备。
网桥:链路层上互连网络,使多个LAN组合在一起。
DNS:存储 [IP地址<->主机名] 映射关系的 分布式数据库, 由InterNIC管理。
ip协议提供不可靠服务,尽可能快地把分组从源结点送到目的结点,tcp基于ip协议,但是tcp提供可靠服务,tcp为什么能做到可靠服务?
tcp采用了超时重发、发送接收端到端的确认分组等机制。
2.6 IP地址
2.7 数据报文封装
2.8 C/S模式
2.9端口号
TCP, UDP采用16bit端口号识别应用程序:0<=端口号<=65535。
端口号分配见下表:
| 端口号 | 占用服务/进程 | 备注 |
| 1~255 | 知名端口号 | IANA管理 |
| 256~1023 | Unix/Linux/Mac OS系统占用 | IANA管理 |
| 1024~5000 | 临时端口分配 | 用户/开发人员自管理 |
| >5000 | 为其他服务器预留 | Internet不常用服务 |
| 知名端口号 | ||
| 21 | FTP的TCP端口 | |
| 23 | Telnet的TCP端口 | |
| 69 | TFTP的UDP端口 | |
大多数Unix系统的文件/etc/services都包含所熟知端口号
如查看Telnet服务器和域名系统的端口号系统命令:
% grep telnet /etc/services
telnet 23/tcp 表示它使用TCP的23号端口
% grep domain /etc/services
domain 53/udp
domain 53/tcp
2.10 编程实现
tcp/ip协议学习笔记一的更多相关文章
- TCP/IP协议学习笔记
计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...
- TCP/IP协议学习之实例ping命令学习笔记
TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详 ...
- TCP/IP协议学习(五) 基于C# Socket的C/S模型
TCP/IP协议作为现代网络通讯的基石,内容包罗万象,直接去理解理论是比较困难的:然而通过实践先理解网络通讯的理解,在反过来理解学习TCP/IP协议栈就相对简单很多.C#通过提供的Socket API ...
- TCP/IP协议精华笔记
1.简介 TCP/IP协议并非单指TCP协议.IP协议,它是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议.ICMP(Internet Control Mes ...
- TCP/IP协议学习-1.概述
目录 TCP/IP协议概述 分层 延伸知识 FTP例子 为什么需要网络层和传输层 TCP/IP的分层 封装 分用 总结 本文主要摘抄自书籍<TCP/IP详解卷一:协议>与TCP协议相关内容 ...
- TCP/IP协议学习(四) 协议概述
生活中有舒适区,借口成为懒惰的护身符,学习也有舒适区,逃避便是阻止进步的最大障碍. 经过半年多嵌入式方面的工作和学习,我提高了很多,但同时我也对自己所面临的问题逐渐清晰: 1. 偏于实践,理论基础不牢 ...
- TCP/IP协议学习(四) 基于C# Socket的Web服务器---静态资源处理
目录 1. C# Socket通讯 2. HTTP 解析引擎 3. 资源读取和返回 4. 服务器测试和代码下载 Web服务器是Web资源的宿主,它需要处理用户端浏览器的请求,并指定对应的Web资源返回 ...
- TCP/IP协议学习和理解
TCP:Transmission Control Protocol-传输控制协议 IP:Internet Protocol-网络协议 TCP/IP 不是一个协议,而是一个协议族的统称,里面包括了 IP ...
- TCP/IP协议学习
计算机网路学得不好,首先先放个OSI七层网络模型吧 在协议的控制下,上层对下层进行调用,下层对上层进行服务, 上下层间用交换原语交换信息.这样可以提高传输速率,并且保证数据安全,所以说其实每一层都有存 ...
随机推荐
- 整合SSM
SSM整合:Spring - SpringMVC - MyBatis 1.Spring - MyBatis : 需要整合:将MyBatis的SqlSessionFactory 交给Spr ...
- Vue——前端生成二维码
与后端生成二维码相比,前端生成二维码更具有灵活性,下面就介绍两种前端生成二维码的方式,两种方式相比之下,vue-qr比qrcode多了一个再中间添加logo的功能. 方式一:qrcode npm np ...
- java中使用静态字段和构造函数跟踪某个类所创建对象的个数
对于这个问题,我们都知道java中使用类时会自动调用构造函数.按照这个思路我们可以定义一个static int 形的常量count 然后将count++放入这个类的构造函数中,这样只要输出count的 ...
- Python图文识别技术【入门必学】
Python图文识别技术分享 使用 tesseract-ORC 识别文字,识别率不算太高,需要自我训练 tessdata 数据,才能更精确的识别你想要让电脑认识出来的文字!ps:另外很多人在学习Pyt ...
- Eclipse创建一个普通的java web项目
1.右键new ,选web project ,下一步 2.为项目命名,然后finish 3.然后将jar包复制到lib目录下, 4.就会自动将jar包编译到web app Libraries,项目创建 ...
- Gof 设计模式
设计模式的用途(参考) 设计模式代表了最佳实践,通常被有经验的面向对象的软件开发人员采用.设计模式是软件开发人员在软件开发过程中面临一般问题的解决方案.这些解决方案是众多软件开发人员在相当长的时间的实 ...
- 查看mysql进程
show processlist; show full processlist;
- Atcoder Grand Contest 037A(贪心,思维)
#include<bits/stdc++.h>using namespace std;string s;char ans[200007][7];char anss[200007][7];i ...
- 敏感、脆弱,OLED柔性屏会带给制造业怎样的灾难?
智能手机市场已经有些意兴阑珊,大家创新的点子在过去十年逐一亮剑,也带来了一些革命,现在谈到智能手机硬件,只能是更大的屏幕.更大的电池,更高的摄像头像素等等,长期的创新乏力,已经让消费者失去" ...
- java中如何修改事务的隔离级别
事务的特性: 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. (多条语句要么都成功,要么都失败.) 一致性(Consistency)事务前后 ...